Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.
The "AntiEntropy" page has been changed by StuHood. http://wiki.apache.org/cassandra/AntiEntropy?action=diff&rev1=3&rev2=4 -------------------------------------------------- + == Implementation == + Cassandra's implementation is modeled on Dynamo's, with [[ArchitectureAntiEntropy|modifications to support the richer data model]]. Quoting from [[http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html|Amazon's Dynamo]] section 4.7, . To detect the inconsistencies between replicas faster and to minimize the amount of transferred data, Dynamo uses Merkle trees [13]. A Merkle tree is a hash tree where leaves are hashes of the values of individual keys. Parent nodes higher in the tree are hashes of their respective children. The principal advantage of Merkle tree is that each branch of the tree can be checked independently without requiring nodes to download the entire [...] data set. The key difference in Cassandra's implementation of anti-entropy is that the Merkle trees are built per column family, and they are not maintained for longer than it takes to send them to neighboring nodes. Instead, the trees are generated as snapshots of the dataset during major compactions: this means that excess data might be sent across the network, but it saves local disk IO, and is preferable for very large datasets. + == Operation == + Anti entropy repairs can be triggered manually for a single node via 'nodetool repair', although they will occasionally trigger automatically. +
