CAP定理:分割時は2択を迫られる

ネットワーク分断(P)が起きた瞬間、整合性(C)と可用性(A)は同時に満たせない。P が起きたら C か A の二択 をモード切替で体感します。

ネットワーク
モード
ノードA の値
ノードB の値
Bからの読み取り結果
いま満たせている性質
2レプリカ構成(クライアント → A/B、A↔B 複製リンク)
分散データベースでは同じデータを複数ノードに複製(レプリカ)します。CAP定理は、ネットワークで結ばれたシステムが C(一貫性 / Consistency)A(可用性 / Availability)P(分断耐性 / Partition tolerance) の3つを同時には満たせないと述べます。
要は「ネットワーク分断(P)が起きている間は、C と A のどちらか一方しか選べない」ということ。分断が無い間は C も A も両立できます。
リンクを切断し、書き込み・読み取りを試して、CP(整合性優先)と AP(可用性優先)の振る舞いの違いを確かめましょう。

いま何が起きている?

ここがポイント