메뉴
BL
MarkTechPost 20일 전

네플릭스, 카산드라 파티션 분할로 읽기 지연 초→밀리초 단축

IMP
8/10
핵심 요약

네플릭스 엔지니어링 팀은 시계열 데이터(TimeSeries) 처리 시 발생하는 아파치 카산드라(Apache Cassandra)의 거대 파티션(Wide Partition) 문제를 해결하는 기술을 공유했습니다. 읽기 경로에서 대용량 파티션을 동적으로 감지해 분할하는 방식을 도입하여, 평균 읽기 지연 시간을 수 초에서 10밀리초 수준으로 획기적으로 단축했습니다. 이를 통해 500MB 이상의 거대한 데이터 파티션도 빠르고 안정적으로 조회할 수 있게 되어 대규모 데이터 인프라 운영에 중요한 해결책을 제시합니다.

번역된 본문

네플릭스 엔지니어들은 TimeSeries Abstraction(시계열 추상화)을 위해 아파치 카산드라(Apache Cassandra)에서 거대 파티션(wide partition)을 처리하는 방법을 상세히 설명했습니다. 두 가지 접근 방식이 상호 작용합니다. 첫째, Time Slice 재파티셔닝(re-partitioning)은 테이블 수준에서 향후 생성될 파티션을 최적화하고, 둘째, 동적 파티셔닝(dynamic partitioning)은 읽기 경로(read path)에서 TimeSeries ID별로 비정상적으로 커진 파티션을 감지하여 분할합니다.

이 과정에서 데이터 크기 바이트 계수 및 카프카(Kafka)를 통해 대용량 파티션을 감지하며, 분할 시 체크섬(checksum) 검증을 거쳐 무결성을 확보합니다. 또한 블룸 필터(Bloom filter)를 사용해 읽기 요청을 병렬 자식 파티션들로 효율적으로 라우팅합니다. 그 결과 평균 읽기 지연 시간이 수 초에서 10밀리초대로 크게 감소했으며, 500MB 이상의 거대 파티션도 문제없이 정상 조회되는 성과를 거두었습니다.

“네플릭스 AI 팀, ID별 카산드라 파티션 분할을 통해 거대 파티션 읽기 지연 시간을 초 단위에서 밀리초로 단축(MarkTechPost)”

원문 보기
원문 보기 (영어)
Netflix engineers detailed how they handle wide partitions in Apache Cassandra for the TimeSeries Abstraction. Two approaches work together: Time Slice re-partitioning tunes future partitions at the table level, while dynamic partitioning detects and splits oversized partitions per TimeSeries ID on the read path. Detection runs via byte counting and Kafka, splits are checksum-validated, and Bloom filters route reads to parallel child partitions. Average read latency dropped from seconds to low double-digit milliseconds, with 500MB+ partitions staying available. The post Netflix AI Team Cuts Wide-Partition Read Latency from Seconds to Milliseconds by Splitting Cassandra Partitions Per ID appeared first on MarkTechPost.