문제 상황
현재 인기 차트는 주간 snapshot 기반으로 고정된 시점의 데이터를 조회하는 구조이다.
이로 인해 실시간 반영이 되지 않는 한계가 있었다.
고민 배경
실시간 인기 차트가 필요하다면
- Redis 기반 ZSet 구조
- 또는 캐싱을 활용한 실시간 집계
를 도입할 수 있다.
따라서 실시간 차트 구조로 확장할 필요가 있는지 고민했다.
대안 검토
1. 현재 구조 (Snapshot)
- 조회 안정성 높음
- 단순 read 구조
- 구현 단순
- 실시간 반영 불가
2. 실시간 차트 (Redis / ZSet)
- 실시간 반영 가능
- 조회 성능 우수
- 추가 인프라 필요
- 집계 및 동기화 로직 복잡
- 운영 비용 증가
최종 판단
현재 서비스에서는
- 실시간 반영 요구사항이 명확하지 않고
- 주간 차트만으로도 충분한 기능을 제공하며
- sanpshot 구조로 이미 조회 성능이 확보된 상태이기 때문에
실시간 차트 구조 및 캐싱 도입은 보류하기로 결정했다.
느낀 점
이번 고민을 통해 단순히 성능 개선을 위해 기술을 도입하기보다 요구사항과 구조에 맞는 설계를 선택하는 것이 중요하다고 판단했다.
'Fivefy 프로젝트 > 설계' 카테고리의 다른 글
| 부분 재정렬 이후, 더 나은 정렬 방식에 대한 고민 (0) | 2026.04.27 |
|---|---|
| Playback 도메인 설계 고도화 (행동 중심 enum을 상태 중심으로 재정의한 이유) (0) | 2026.04.15 |
| 재생 시스템 설계에서 sessionId 기반 로그 구조를 선택한 이유 (0) | 2026.04.08 |
| 플레이리스트 설계에서 트랙 중복을 허용하지 않은 이유 (1) | 2026.04.08 |
| 데이터 흐름 중심으로 설계한 음악 서비스 아키텍처 (도메인·ERD·API) (0) | 2026.04.08 |