2. Index
• Voldemortの紹介
• Voldemortの実現技術
– Consistent Hashing and Replication
– Vector Clocking and Read Repair
– Sloppy Quorum and Hinted Handoff
– Gossip Protocol and Failure Detection
24. Anti-entropy using Merkle trees on Dynamo: Merkle Tree
a type of data
structure that contains
a tree of summary
information about a larger
piece of data
http://en.wikipedia.org/wiki/Hash_tree
25. Anti-entropy using Merkle trees on Dynamo: Merkle Tree
より大きなデータ(例えば
ファイル)の要約結果を
格納する木構造の一種
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E6%9C%A8
26. Anti-entropy using Merkle trees on Dynamo: Merkle Tree
• Leaf(葉)はデータブロックのhash
• Nodeは子ノードのhash
– Top hash = Hash(0,1)
• ルートのhash valueの比較だけで
整合性の確認可能
Node
Leaf
27. Anti-entropy using Merkle trees on Dynamo
• 各ノードはKey rangeのデータをMerkle Treeで管理
• 定期的に同じKey rangeのMerkle Treeを複数ノードが比較
• 異なる場合、最新のデータへ更新
• ノードの追加等で多くのKey rangeが変更される場合、
Merkle Tree再計算で負荷が高くなる可能性がある