Cassandra数据结构

时间:2013-07-31 04:45:42

标签: data-structures cassandra payload

我需要详细了解如何在Cassandra中设计高效的数据结构。是否有用于了解Cassandra数据结构的在线演示或教程?我需要能够使用列和有效负载设计列族,并查看一些具体的,有形的示例。如果有人能推荐一个允许我这样做的来源,我会很感激。

1 个答案:

答案 0 :(得分:0)

在构成Cassandra代码库的数千个类中,我怀疑C *的性能可归因于单个数据结构。对于单个在线演示,这个主题有点复杂,但是......

比源更好的源...开始查看代码并检查使用的数据结构。内存中的数据存储在一个名为memtable的东西中,这是一个排序的字符串表(sstable)。然后将内存中的数据刷新到磁盘并再次存储在sstables中。这个SO question在二进制尝试和sstables之间进行比较,用于索引dB中的列。

我觉得有趣的另一个数据结构是修理过程中使用的merkle树。这是一个散列的二叉树。使用merkle树时有许多优点和缺点,但主要优点(我认为不利)是它减少了需要通过线路传输的数据以进行修复(也称为树同步),但需要牺牲本地io用于计算树的哈希值。阅读SO answer中的更多详细信息,并阅读wikipedia上的merkle树。在dynamo paper的4.6和4.7节中,还有很好的描述如何在修理过程中使用merkle树。