Reputation: 118
What is SSTable in Cassandra? How is it different from other relational tables? Is the SSTable stored on disk? How is the bloom filter and sparse index related to the SSTable?
Upvotes: 2
Views: 800
Reputation: 57748
Just to expand on the Bloom Filter a bit...
A Bloom Filter is a probabilistic structure. In Cassandra, a Bloom Filter is used with the SSTable file at read time to help determine whether or not a particular SSTable has the requested data. Basically, the Bloom Filter provides one of two answers in the read path:
From the doc linked below:
because the Bloom filter is a probabilistic function, it can result in false positives. Not all SSTables identified by the Bloom filter will have data. If the Bloom filter does not rule out an SSTable, Cassandra checks the partition key cache.
The DataStax documentation has more detail on this and other structures used in the read path:
Upvotes: 0
Reputation: 360
SSTable expands to ‘Sorted String Table,’ which refers to an important data file in Cassandra and accepts regular written memtables. They are stored on disk and exist for each Cassandra table. Exhibiting immutability, SSTables do not allow any further addition and removal of data items once written. For each SSTable, Cassandra creates three separate files like partition index, partition summary, and a bloom filter.
Upvotes: 1