本文へスキップ

結果整合性とは?

けっかせいごうせい

結果整合性とは、分散システムにおいて更新後しばらく時間が経てば全ノードのデータが最終的に同じ状態に収束するという整合性モデルです。

結果整合性(Eventual Consistency)は、分散コンピューティングにおける整合性モデルのひとつです。強整合性が「どのノードで読んでも常に最新値を返す」ことを保証するのに対し、結果整合性は「ある時点では複数ノード間でデータが異なる場合があるが、更新が止まれば最終的には全ノードが同一の値に収束する」ことを保証します。

この概念が重要になった背景には、分散システムの理論的制約があります。ブリュワーのCAP定理によれば、ネットワーク分断(P)が発生する環境では、一貫性(C)と可用性(A)を同時に完全に満たすことはできません。結果整合性は可用性を優先する設計思想に対応しており、一時的なデータの不一致を許容することで高い可用性とパフォーマンスを実現します。

結果整合性が採用される代表的なシステムには以下があります。

  • Amazon DynamoDB:デフォルトで結果整合性読み取りを提供(強整合性オプションもあり)
  • Apache Cassandra:最終的な収束を保証する多ノード分散設計
  • DNSシステム:設定変更が世界中に伝播するまでに時間がかかる
  • ソーシャルメディアの「いいね」カウント:厳密な整合性より速度を優先

結果整合性はデータが一時的に古い可能性を受け入れる設計を必要とし、アプリケーション側での考慮(冪等処理、競合解決ロジックなど)が求められます。一方で、強整合性と比べてレイテンシが低くスループットが高くなるため、大規模な分散システムで広く活用されています。

使い方・例文

SNSで「いいね」を押してもカウントがすぐに反映されず数秒後に更新されることがありますが、これは結果整合性モデルが採用されている典型例です。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語