【アンチエントロピー】

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

最終更新:
💡 同じデータのコピーを照合し、ズレを直す仕組み

分散システムで、同じデータを持つレプリカ間の差を検出し、整合させる仕組み。Cassandraの修復ではマークルツリーでデータを比較する。修復の実行方法や頻度、競合する値の扱いはシステムによって異なる。

📌 このページのポイント
ひよこ ひよこ
データのコピーなのに、なぜズレるの?
ペンギン先生 ペンギン先生
通信障害やノードの停止などで、一部のレプリカが書き込みを受け取れない場合があるんだ。後からその差を見つけ、そろえるための仕組みがアンチエントロピーだよ。
ひよこ ひよこ
全部のデータを、送り合うの?
ペンギン先生 ペンギン先生
比較を効率化する方法があるよ。Cassandraの修復は、データのハッシュを階層的にまとめたマークルツリーを比較して、差のある範囲を調べる。その範囲のデータをやり取りして修復するんだ。
ひよこ ひよこ
どちらの値に、そろえるの?
ペンギン先生 ペンギン先生
競合した値をどう扱うかは、システムの規則によるよ。Cassandraは更新のタイムスタンプを使うため、時計の同期も重要。差を見つけることと、採用する値を決めることは分けて考えよう。
ひよこ ひよこ
放っておけば、自動で直る?
ペンギン先生 ペンギン先生
そうとは限らないよ。Cassandraのrepairは自動実行されず、運用者がnodetool repairなどで実行する。定期実行を組む場合もあるけれど、仕組みの名前だけで自動修復を保証するわけではないんだ。
ひよこ ひよこ
修復は、何度でも気軽にできる?
ペンギン先生 ペンギン先生
Cassandraの修復はディスクやネットワークに負荷をかけるよ。対象範囲、方式、削除データの扱いなどに合わせて計画する必要がある。コピーの照合は、過去の状態を保存して戻すバックアップの代わりにもならないね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「アンチエントロピー」って出てきたら「分散したデータのコピーを照合し、ズレを直す仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Anti-entropy」 = データの不一致を修復する仕組みの呼び名
💬 Cassandraの公式資料ではanti-entropy repairと呼ばれるよ。物理現象を計算する処理ではなく、レプリカ間のデータをそろえる話なんだ。

参考資料

← 用語集にもどる