같은 질문에 두 번 답하지 마세요: Netflix 규모의 Druid를 위한 Interval-Aware Caching
(netflixtechblog.com)넷플릭스는 대규모 데이터 쿼리 부하를 해결하기 위해 Apache Druid의 롤링 윈도우 특성을 활용한 '인터벌 인식 캐싱(Interval-Aware Caching)' 기술을 도입했습니다. 변하지 않는 과거 데이터는 긴 TTL로 캐싱하고, 최신 데이터만 짧게 갱신함으로써 데이터의 미세한 지연(5초)을 허용하는 대신 인프라 비용과 쿼리 부하를 획기적으로 줄였습니다.
- 1넷플릭스 데이터 규모: 10조 개 이상의 로우 및 초당 1,500만 개 이벤트 처리
- 2문제점: 롤링 윈도우 대시보드로 인한 중복 쿼리 폭증 (대시보드 1개당 최대 64개 쿼리 발생)
- 3해결책: 과거 데이터는 길게, 최신 데이터는 짧게 캐싱하는 '인터뷰 인식 캐싱' 도입
- 4핵심 전략: 데이터 연령에 따라 TTL을 기하급수적으로 증가시키는 Exponential TTL 적용
- 5트레이드오프: 5초 정도의 데이터 지연을 허용하여 인프라 부하 및 비용을 획기적으로 절감
왜 중요한가
배경과 맥락
업계 영향
한국 시장 시사점
이 기사는 엔지니어링의 본질이 '무조건적인 성능 향상'이 아니라 '적절한 트레이드오프(Trade-off)의 설계'에 있음을 보여주는 훌륭한 사례입니다. 넷플릭스는 5초라는 아주 미세한 데이터 지연을 허용하는 대신, 시스템 전체의 안정성과 비용 효율성을 선택했습니다. 이는 기술적 완벽주의보다 비즈니스 가치와 운영 비용의 균형을 중시하는 성숙한 엔지니어링 문화를 반영합니다.
스타트업 창업자들에게 주는 교훈은 명확합니다. 인프라 비용이 감당하기 어려워지는 시점이 오면, 단순히 더 큰 인스턴스를 구매하기 전에 '우리가 허용할 수 있는 데이터의 신선도(Staleness)는 어느 정도인가?'를 먼저 자문해야 합니다. 데이터의 특성을 이용한 아키텍처의 재설계는 가장 강력한 비용 절감 도구이자 경쟁 우위가 될 수 있습니다.
댓글
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.