핵심 요약
넷플릭스가 TimeSeries 데이터의 큰 파티션 문제를 해결하기 위해 Time Slice 재파티셔닝과 ID별 동적 파티셔닝을 도입해 읽기 지연과 타임아웃을 크게 개선했습니다.
구현 방법
- Time Slice 재파티셔닝: 노드 히스토그램(nodetool tablehistograms)을 사용해 파티션 크기를 감지하고, DynamicTimeSliceConfigWorker가 향후 Time Slice의 파티션 전략을 자동으로 업데이트합니다(밀도 목표를 2MiB~10MiB로 설정).
- 동적 파티션 per ID: 읽기 시 넓은 파티션을 탐지해 계획·분할을 비동기로 수행하고, Bloom 필터로 읽 경로를 분리 파티션으로 우회시켜 쓰레드 큐잉을 줄입니다. 분할 검증은 pre/post 체크섬으로 수행합니다.
- 운영·모니터링: wide_row 메타데이터 테이블로 체크포인트를 관리하고, 파티션 분할 결과를 읽 경로에 반영합니다.
주요 결과
- 넓은 파티션의 평균 읽기 지연이 초 단위에서 저수십 ms로 감소
- Tail 지연은 수 초에서 약 200 ms 이하로 떨어짐
- 시간초과 감소, CPU 활용도 하락, 쓰레드 큐잉 감소, 500MB+ 파티션도 안전하게 조회 가능
- 체크섬 매칭 기반의 안전한 롤아웃 및 안정성 향상



