Cassandra的索引结构是什么?

时间:2017-01-20 09:09:12

标签: indexing cassandra

Cassandra使用LSM树进行存储,但cassandra的索引结构究竟是什么?例如,Mongo和Couchbase都使用BTree。

1 个答案:

答案 0 :(得分:3)

这取决于您实际使用的Cassandra版本。

对于3.4之前的版本,索引实现为隐藏的Cassandra表,其中包含您要访问的数据的键值。这个策略的主要缺点是,由于SStables受到压缩,你不能直接引用数据,而是给你一个密钥,你必须再次通过读取路径。

在3.4版中,他们引入了SASI索引(SSTable Attached Secondary Indexes)。基本上,索引的一部分与每个SStable相关联,因此与其一起分发。这意味着您实际上可以使用引用来访问数据,而不是为另一个读取路径付费。在实施方面,它们是b树。

Here是关于这个主题的非常有用的资源。