Merkle树用于差异比较,在Cassandra中

sno*_*ntw 4 algorithm cassandra data-structures merkle-tree

我正在阅读有关Cassandra维修的文件,它说

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

但是,默克尔树的非叶节点表示:

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

据此,以及我发现的其他数据结构文章,它们都表明只有在两棵Merkle树的根不同的情况下,才进行以下比根深的比较。我不确定文档是否正确描述了我可能理解的问题,或者实际上有错误?

nev*_*vsv 5

Datastax文档中有一个错误。

Merkle树的比较有一个很好的解释:

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

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