백엔드
Redis Vs Mongo DB By Item View Count (이 상품 몇명이 보고 있어요)
두줄요약
상품 상세에서 몇 명이 보고 있는지 실시간 집계하는 기능의 설계를 Redis와 MongoDB로 비교했습니다. 성능, 만료 처리, 운영 복잡도와 비용을 함께 고려해 선택 기준을 정리했습니다.
핵심 내용
- 상품 상세에서 현재 몇 명이 중복 없이 보고 있는지 실시간 집계하는 기능의 설계 고민
- 웹과 앱 모두 동일한 API 요청 방식으로 주기적 조회를 받는 동작 흐름 정리
- RDB 대신 NoSQL을 검토하며 Redis와 MongoDB의 구조, 만료 처리, 운영 복잡도 비교
선택 이유
- Redis는 인메모리 특성으로 실시간 집계 성능이 유리한 점
- Set, Hash, Sorted Set 중 Sorted Set이 중복 관리와 만료 정리에 가장 적합한 점
- MongoDB는 배치 작업 부담이 적지만 인덱스와 만료 설정을 함께 고려해야 하는 점
트레이드오프
- Redis는 성능은 좋지만 비용이 높고 만료 누락 대응용 배치가 필요할 수 있는 점
- MongoDB는 구조가 단순해 보이지만 조회·정리 비용과 데이터 증가 문제를 따져야 하는 점
- 실시간성, 운영 복잡성, 비용 사이에서 균형을 맞춰야 하는 점