Redis vs MongoDB, 어떤 DB가 상품 조회수 집계에 적합할까?
by DD
1년 전
조회수 10
상품 상세 페이지의 실시간 조회수 집계를 위해 Redis와 MongoDB를 비교 분석함
Redis의 다양한 자료구조(Set, Sorted Set)를 활용한 구현 방식과 MongoDB의 Document 구조를 검토함
Redis의 빠른 성능과 MongoDB의 유연성을 비교, 트레이드오프를 고려하여 기술 선택
Redis 자료구조 선택의 딜레마
실시간 집계를 위해 Redis를 선택했지만, 적절한 자료구조 선택이 중요했다. Set은 브라우저 종료 감지 문제로, Hash는 전체 키 조회로 인한 부하 문제로 적합하지 않았다. 따라서 Sorted Set을 활용하여 시간 기반 사용자 관리를 구현했다.
MongoDB 설계 방식 비교 분석
MongoDB는 두 가지 설계를 제시했다. 첫 번째는 itemNo에 인덱스를 걸고, 각 document에 expire를 설정하는 방식이다. 반면, 두 번째는 users 배열을 활용하여 데이터 중복 저장을 피하려 했다. 인덱스 설정과 expire 설정의 트레이드오프를 고려해야 한다.
기술 선택의 핵심: 성능 vs 비용
Redis는 빠른 성능을 제공하지만, 비용이 높다는 단점이 있다. MongoDB는 유연성과 유지보수 측면에서 유리하지만, 인덱스 설정 및 expire 설정에 주의해야 한다. 따라서, 서비스의 요구사항과 데이터 접근 패턴을 고려하여 적절한 기술을 선택해야 한다.