【けっかせいごうせい】
結果整合性 とは?
💡 「今すぐじゃないけど、そのうち揃う」保証
📌 このページのポイント
具体的にどういう状況で起きるの?
SNSで「いいね」を押した直後に別の端末で見ると、まだいいね数が増えていないことがある。数秒後にリロードすると反映されている。これが結果整合性。裏側ではいいねの書き込みが複数のレプリカに伝搬するのに時間がかかっているんだよ
問題にならないの?
多くのケースでは問題にならない。SNSのいいね数、アクセスカウンター、ニュースフィードの順序は数秒の遅延が許容される。でも銀行の口座残高やECの在庫数では問題になる。だからシステム設計では「このデータは結果整合性でOKか、強い整合性が必要か」をデータごとに判断するんだよ
S3も結果整合性だったの?
以前のS3はPUT後のGETで古いデータが返ることがあった。でも2020年にS3が強い読み取り一貫性(Strong Read-After-Write Consistency)に変更されたんだ。書き込み直後でも最新データが読める。技術の進化で結果整合性の「妥協」が不要になるケースも増えているよ
結果整合性を扱うテクニックは?
まとめ:ざっくりこれだけ覚えればOK!
「結果整合性」って出てきたら「時間が経てば最終的にはデータが一致する整合性モデル」と思えればだいたいOK!
📖 おまけ:英語の意味
「Eventual Consistency」 = 結果整合性・最終的な一貫性
💬 Eventually(最終的には)Consistent(一貫した状態)になるという保証だよ