Performance Tuning: Bloom Filters, Key Cache & Row Cache
Understand the caching and probabilistic data structures Cassandra uses to accelerate reads, and how to tune them.
Cassandra employs several layers of caching and probabilistic data structures to minimize disk I/O on the read path, since a naive implementation would need to check every SSTable for every read.
The bloom filter is like a quick 'definitely not here' checklist you glance at before searching a filing cabinet, saving you from opening cabinets that certainly don't have what you need. The key cache is like remembering exactly which drawer and folder a frequently requested document lives in. The row cache is like keeping photocopies of your most-requested documents right on your desk so you never need to visit the cabinet at all — until someone updates that document, at which point your desk copy becomes stale and must be discarded.