Netflix, Cassandra S3 네이티브 읽기로 콜드 스토리지 비용 절감

·2026.10.15 04:56

핵심 내용

Netflix, Cassandra S3 네이티브 콜드 티어로 디스크 사용량 80%서 7%로 줄이고 p99 500ms 유지했다.

1 / 10

자세히 보기

Netflix가 TimeSeries Abstraction 플랫폼의 콜드 스토리지 아키텍처를 Kafka/Flink 기반 스트리밍 방식에서 S3를 직접 읽는 Cassandra 네이티브 방식으로 전환했다. 이번 변경은 접근 빈도가 낮은 페타바이트 규모의 과거 데이터를 위해 비싼 핫 스토리지 클러스터를 유지하던 비용을 절감하기 위한 조치다.

스트리밍에서 네이티브 백업 읽기로

기존 솔루션은 Apache Kafka와 Flink를 사용해 데이터를 S3로 스트리밍하고, 일일 컴팩션 작업을 통해 Parquet 파일로 최적화했다. 이 방식은 효과적이었으나 상당한 데이터 전송 비용과 운영 부담을 초래했다. 새로운 아키텍처는 S3에 있는 기존 Cassandra 재해 복구 백업을 활용하여 별도의 데이터 파이프라인을 제거했다. 백업 파일을 직접 읽음으로써 해당 클러스터의 첨부 스토리지 사용량이 **80%**에서 **7%**로 감소했다.

커스텀 Memtable 및 컴팩션 전략

S3 직접 읽기를 가능하게 하기 위해 Netflix는 Cassandra에 커스텀 Backup Memtable을 구현했다. 이 구성 요소는 SSTable 인덱스와 메타데이터 파일을 S3에서 로컬 디스크로 다운로드하여, 대용량 Data.db 파일을 즉시 가져오지 않고도 효율적인 쿼리 계획을 수립할 수 있게 한다. 시스템은 ROCS(Read-Optimized Cold Storage)라는 새로운 컴팩션 전략을 사용하여 SSTable을 토큰 범위에 맞춰 정렬함으로써 읽기 팬아웃을 줄이고 테일 레이턴시를 개선한다. Backup Memtable 초기화는 TimeSeries 제어 평면을 통해 자동화되며, Cassandra Virtual Tables를 사용하여 컴팩션 완료 여부와 백업 무결성을 검증한다.

성능 및 격리

새로운 콜드 티어는 초당 수천 건의 읽기 요청을 처리하며, 이전 구현 대비 p90 레이턴시가 약 30% 개선되었고 p99 레이턴시는 500 ms 미만으로 유지된다. 콜드 읽기 급증이 핫 경로 성능에 영향을 미치지 않도록 Netflix는 콜드 읽기용 격리된 Cassandra 클러스터를 배포할 수 있다. 이 클러스터는 원래 토폴로지와 동일하지만 더 저렴하고 스토리지 부담이 적은 인스턴스를 실행하여, 청크 캐싱과 병렬화된 S3 접근을 통해 복원력을 유지하면서 비용을 추가로 최적화한다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.