Netflix Cuts Cassandra Read Latency from Seconds to Milliseconds with Dynamic Partition Splitting
Netflix engineers built a dynamic partition-splitting mechanism for Apache Cassandra to tackle wide partitions in time-series workloads. The system automatically detects oversized partitions exceeding predefined thresholds and asynchronously splits them into smaller child partitions, maintaining a metadata layer to track parent-child relationships and route reads transparently. Results from multiple child partitions are merged before returning to clients, requiring no application changes or downtime. After deployment on Netflix's TimeSeries Abstraction platform, average read latency dropped from seconds to low double-digit milliseconds, tail latencies fell to under 200ms, and CPU utilization and read timeouts decreased significantly. The initial implementation focused on immutable partitions for safety, with phased rollouts and validation pipelines comparing old and new read paths. Future work includes support for mutable partitions and reprocessing of failed splits.