핵심 요약
넷플릭스 Muse는 HLL 스케치와 Hollow를 도입하고 Druid를 최적화해 트릴리언-Row 규모의 데이터에서 다대다 관여자 기반의 분석을 가능하게 했으며, 일반 OLAP 쿼리의 응답 시간을 대폭 개선했습니다.
구현 방법
- HLL 스케치 도입: Druid ingest의 HLLSketchBuild로 합계/고유 카운트를 근사하고, Spark ETL에서 매일 HLL을 병합(hll_union)합니다.
- Hollow 도입: Iceberg 기반 precomputed aggregates를 Hollow 피드로 캐시하고, Spring Boot 애플리케이션이 캐시를 자동 갱신합니다.
- 아키텍처: React + GraphQL 레이어와Spring Boot GRPC 마이크로서비스 구성.
- Druid 최적화: broker-to-historical 비율 1:15, segment 크기 300–700MB, 데이터 보강은 lookups로 처리, 물리 컬럼 Predicate 사용, transformSpec 필터링으로 필수 컬럼만 남김, 멀티-밸류 차원 활용.
- 검증 및 롤아웃: 병렬 스택 배포, Jupyter를 이용한 자동 오프라인 검증, 애플리케이션 내 비교 도구, 점진적 배포와 그레뉴랄 플래그 및 Shadow Testing 적용.
- 향후 방향: Live, Games 확장, 시놉시스 데이터 도입 및 “효과적” vs “진정성” 지표 추가.
주요 결과
- 일반 OLAP 쿼리 지연이 약 50% 감소.
- p99 지연도 유사하게 약 50% 감소.
- Hollow 피드로 인해 특정 조회가 수백 ms에서 수십 ms로 개선.
- Druid 부하가 분산되어 동시성에서도 안정성 향상.
- 향후 확장 방향으로 Live/Games 및 신규 메트릭 도입 예정.