Cassandra 中的 SSTable 是什么?它与其他关系表有何不同?
What is SSTable in Cassandra? How is it different from other relational tables?
Cassandra 中的 SSTable 是什么?它与其他关系表有何不同? SSTable 是否存储在磁盘上?布隆过滤器和稀疏索引与SSTable有什么关系?
SSTable 扩展为“Sorted String Table”,它指的是 Cassandra 中的一个重要数据文件,并接受常规写入的 memtables。它们存储在磁盘上,并且存在于每个 Cassandra table 中。表现出不变性,SSTables 不允许在写入后进一步添加和删除数据项。对于每个 SSTable,Cassandra 创建三个单独的文件,如分区索引、分区摘要和布隆过滤器。
稍微扩展布隆过滤器...
一个布隆过滤器是一个概率结构。在 Cassandra 中,布隆过滤器在读取时与 SSTable 文件一起使用,以帮助确定特定 SSTable 是否具有请求的数据。基本上,布隆过滤器在读取路径中提供了两个答案之一:
- 此 SSTable 文件可能包含请求的数据。
- 这个 SSTable 文件肯定不包含请求的数据。
来自下面链接的文档:
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.
DataStax 文档提供了有关此结构和读取路径中使用的其他结构的更多详细信息:
Cassandra 中的 SSTable 是什么?它与其他关系表有何不同? SSTable 是否存储在磁盘上?布隆过滤器和稀疏索引与SSTable有什么关系?
SSTable 扩展为“Sorted String Table”,它指的是 Cassandra 中的一个重要数据文件,并接受常规写入的 memtables。它们存储在磁盘上,并且存在于每个 Cassandra table 中。表现出不变性,SSTables 不允许在写入后进一步添加和删除数据项。对于每个 SSTable,Cassandra 创建三个单独的文件,如分区索引、分区摘要和布隆过滤器。
稍微扩展布隆过滤器...
一个布隆过滤器是一个概率结构。在 Cassandra 中,布隆过滤器在读取时与 SSTable 文件一起使用,以帮助确定特定 SSTable 是否具有请求的数据。基本上,布隆过滤器在读取路径中提供了两个答案之一:
- 此 SSTable 文件可能包含请求的数据。
- 这个 SSTable 文件肯定不包含请求的数据。
来自下面链接的文档:
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.
DataStax 文档提供了有关此结构和读取路径中使用的其他结构的更多详细信息: