Cassandra的索引结构是什么?

5

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

1个回答

9
这取决于您实际使用的Cassandra版本。
在3.4版本之前,索引是作为隐藏的Cassandra表实现的,保存您希望访问的数据的键值。这种策略的主要缺点是,由于SStables会经过压缩,因此您无法直接引用数据,而是会获得一个键,必须再次通过读取路径来访问数据。
在3.4版本中,他们引入了SASI索引(SSTable附加二级索引)。基本上,每个SStable与一部分索引相关联,因此随着分发。这意味着您可以实际使用引用来访问数据,而不必支付另一个读取路径的费用。在实现方面,它们是B树。 这里是一个非常有用的资源。

谢谢!非常有帮助 - Anand

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接