Differences between revisions 2 and 3
Revision 2 as of 2013-11-12 22:35:05
Size: 2218
Editor: GehrigKunz
Comment: statcounter
Revision 3 as of 2013-11-12 23:20:43
Size: 2219
Editor: GehrigKunz
Comment: statcounter
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
{{http://c.statcounter.com/9397521/0/fe557aad/1/|stats}} {{https://c.statcounter.com/9397521/0/fe557aad/1/|stats}}

AntiEntropy とは、存在する(ことになっている)データのレプリカを全て比較し、全てのレプリカを最新のバージョンに置き換えることを言います。

Cassandra の実装は よりリッチなデータモデルをサポートする変更(ができること) を持った Dynamo に基づいています。 Amazon's Dynamo の 4.7 節から引用します。

  • To detect the inconsistencies between replicas faster and to minimize the amount of transferred data, Dynamo uses Merkle trees. 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.
  • (レプリカ間の不整合をより早く検知しデータ転送量を最小化するために、Dynamo は Merkle 木を使っています。Merkel 木とは、ハッシュ木であって、葉が各キーの値のハッシュ値になっているもののことです。より上位の親ノードは、その子供のそれぞれのハッシュ値になっています。Merkle 木の原理的なメリットは、枝が全てのデータセットをダウンロードせずに独立してチェック出来ることです。)

Cassandra の anti-entropy の実装の重要な差異は、Merkle 木が column family ごとに作成され、それらは近隣のノードに (Merkle 木を?) 送るのにかかる時間以上にはメンテナンスされないことです。代わりに、木はメジャーコンパクションの間のデータセットのスナップショットになっていることが保証されます。すなわち、超過データはネットワークを経由して送られるかも知れませんが、これは local disk の IO をセーブします。これは非常に大きなデータセットについては好ましいことです。

stats

AntiEntropy_JP (last edited 2013-11-12 23:20:43 by GehrigKunz)