백엔드
Redis Vs Mongo DB By Item View Count (이 상품 몇명이 보고 있어요)
두줄요약
상품 상세 페이지의 실시간 뷰어 수 집계를 위해 Redis와 MongoDB를 비교했습니다. 성능은 Redis가 유리했지만 비용과 운영 복잡성까지 함께 검토해야 했습니다.
핵심 내용
- 상품 상세 페이지에서 "이 상품 몇 명이 보고 있어요"를 실시간으로 집계하는 기능의 저장소 선택 고민
- 웹/앱 공통 API 요청 방식으로 조회 수를 갱신하고, 이탈한 사용자 정보는 제거하는 흐름 설계
- Redis와 MongoDB를 비교하며 시간 복잡도, 운영 방식, 비용을 함께 검토
선택 이유
- Redis는 인메모리 기반이라 실시간 집계와 조회 성능에 유리
- Sorted Set을 활용하면 중복 방지, 현재 인원수 조회, 시간 기반 삭제를 함께 처리 가능
- MongoDB는 Batch Job 부담이 적지만 인덱스, expire, 데이터 증가 문제를 함께 고려해야 함
트레이드오프
- Redis는 성능이 좋지만 비용이 높고, 이탈 감지 실패 데이터 정리 전략이 필요
- MongoDB는 운영이 단순해 보이지만 만료 보장, 인덱스, 배열 순회 비용 등 검토 항목이 많음
- 실제 선택은 실시간성, 유지보수성, 비용을 함께 봐야 함