【アンチエントロピー】

アンチエントロピー とは?

💡 バラバラになったデータを定期的に揃え直す、見えない管理人
📌 このページのポイント
ひよこ ひよこ

アンチエントロピーって名前が物理っぽくて難しそうなの!

ペンギン先生 ペンギン先生

エントロピーは「乱雑さ」の意味だよ。分散システムでは複数のサーバーがデータを持っていて、時間とともにズレが生まれる。それを「秩序回復」させるのがアンチエントロピーだよ。

ひよこ ひよこ

ズレってどうして生まれるの?

ペンギン先生 ペンギン先生

ネットワーク障害や一時的なサーバー停止で、一部のノードだけ書き込みが成功することがあるんだ。結果整合性モデルでは「いつか整合性を取る」ことを約束していて、アンチエントロピーがその実現手段の一つだよ。

ひよこ ひよこ

全データを比較したら通信量がすごくなりそうだけど、どうやって効率化するの?

ペンギン先生 ペンギン先生

マークルツリーを使うよ。データをブロックに分けてハッシュ化し、ツリー状に組み合わせる。ルートハッシュが一致すれば全データが同じ、違ったらどのブロックがズレているか絞り込めるから通信量が格段に減るんだ。

ひよこ ひよこ

DynamoDBCassandraが使ってるって聞いたことあるよ!

ペンギン先生 ペンギン先生

そうだよ。大規模な分散DBでは普通に行われていて、バックグラウンドで静かに動いてるんだ。ゴシッププロトコルと組み合わせて差分情報を広めることも多いよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「アンチエントロピー」って出てきたら「ノード間のデータのズレを定期的に直す自動修復プロセス」と思えればだいたいOK!
📖 おまけ:英語の意味
「Anti-Entropy」 = 反エントロピー(秩序回復)
💬 「エントロピー(乱雑さ)」に「アンチ」をつけたもの。時間とともにバラバラになるデータを定期的に揃え直す仕組みだよ。
← 用語集にもどる