Cassandra medium
Cassandra uses 'Bloom Filters' in the read path. What is the 'Probabilistic' nature of a Bloom Filter and how does it benefit performance?
- A It can accurately predict the user's next query with 99% probability.
- B It can definitively say if a key exists, but it might accidentally say a key does not exist when it actually does (False Negative).
- C It can definitively say if a key is *NOT* in a file, but it might occasionally say a key *might* be in a file when it isn't (False Positive).
- D It is used to randomly choose which node should handle a write request.
Answer: C. It can definitively say if a key is *NOT* in a file, but it might occasionally say a key *might* be in a file when it isn't (False Positive).
No 'False Negatives' is the key. If the filter says 'No', Cassandra confidently skips the slow disk seek to that SSTable. If it says 'Maybe', Cassandra performs the seek. This drastically reduces the number of files the database must open during a read.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- In a Cassandra Keyspace, what does a 'Replication Factor of 3' specifically guarantee for your data redundancy?
- Unlike a Leader-Follower architecture (like MySQL or Redis), how does Cassandra maintain high availability within its node cluster?
- Cassandra Query Language (CQL) looks similar to SQL. What is a fundamental SQL feature that CQL does NOT support to ensure distributed performance?
- What is the critical architectural function of the 'Partition Key' in a Cassandra table?
- Apache Cassandra is fundamentally designed as which architectural category of NoSQL database?
- An extreme financial trading application requires 'Batch' sync for the Commit Log. What is the fundamental throughput limitation introduced by this setting?