Merkle树为差异比较,在Cassandra

时间:2017-06-28 06:24:57

标签: algorithm data-structures cassandra merkle-tree

我正在阅读document关于Cassandra的修理,它说

  

比较从Merkle树的顶部节点开始。如果检测到无差异,则进程到左子节点并进行比较,然后比较右子节点。

但是,Merkle树的非叶节点表示:

  

树中较高的每个父节点都是其各自子节点的哈希。由于Merkle树中的较高节点表示树下的数据,因此Casandra可以独立检查每个分支,而无需协调器节点下载整个数据集。

根据这个以及我发现的其他数据结构文章,如果两个Merkle树具有不同的根,它们都表示比根更深的以下比较。我不确定文档是否正确描述了我可能理解错误,或者实际上有错误?

1 个答案:

答案 0 :(得分:5)

Datastax文档中存在错误。

这是对Merkle树比较的一个很好的解释:

http://distributeddatastore.blogspot.co.il/2013/07/cassandra-using-merkle-trees-to-detect.html

使用Merkle树进行反熵的许多最终一致性数据库。您可以在Riak / DynamoDB文档中查看文档及其说明。