What is read amplification and how do Bloom filters fix it?
Read amplification occurs when a single lookup must search many SSTables across multiple levels before finding the key (or confirming its absence). A Bloom filter is a probabilistic data structure that can definitively say a key is NOT in an SSTable with no disk I/O; it eliminates false positives but allows false negatives.
Answered in
LSM-Trees vs B-Trees: Why Cassandra Chose Sequential WritesB-trees seek random disk positions. LSM-trees buffer in memory and flush sequentially, converting random I/O into sequential writes for millions of ops/sec.
Read the full analysisOther questions this article answers
More system design & architecture questions
- What does CodeDeploy RESTART actually deploy?
- Does CodeDeploy RESTART work with ECS or Lambda?
- Does RESTART remove an application from load-balancer traffic while it restarts?
- Does Elastic Beanstalk's Active Directory join require a domain password?
- Can an Elastic Beanstalk environment be healthy if the domain join fails?
- Will enabling Active Directory replace running instances?
- What is different about AWS Lambda Web Functions?
- Does Lambda Web Functions automatically cost less than ordinary Lambda?
Every answer on Crashtech is written by the editor of the article it comes from — never auto-summarised. Browse all answers or the System Design & Architecture beat.