CAP theorem

Concept

分散システムの設計原理(定理)

最終更新: 2026-10-27

5 References

https://www.refbase.ai/entity/cap-theorem

Knowledge Dossier

公開済みEvidenceをIdentity / Capability / Credibility / Use Case / Constraints・Current Statusの軸で機械的に集約したものです(新規の主張・推測は含みません)。

Identity

  • Eric Brewer は2012年の論文で、CAP定理を「ネットワークで結ばれた共有データシステムは、3つの望ましい特性(一貫性、高可用性、ネットワーク分断への耐性)のうち最大2つしか持てない」と説明し、この定理は1998年秋に初めて登場して1999年に公表され、2000年のPODC基調講演でも発表されて、その証明につながったと述べている。検証待ち CAP Twelve Years Later: How the "Rules" Have Changed
  • UC Berkeley の Eric A. Brewer 教授による2000年7月19日のPODC基調講演スライド「Towards Robust Distributed Systems」には、「Consistency vs. Availability」の論点や、一貫性・可用性・ネットワーク分断耐性を示す図、ACIDとBASEの対比が含まれている(PDFの先頭部分のみ確認)。検証待ち PODC Keynote, July 19, 2000: Towards Robust Distributed Systems
  • Seth Gilbert と Nancy Lynch(MIT)の論文は、一貫性・可用性・分断耐性の3つを同時に達成することは不可能だとする Brewer の予想を、非同期ネットワークモデルで証明し、部分同期モデルでの解決策を論じている。検証待ち Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services

Capability

  • Eric Brewer は2012年の論文で、CAP定理を「ネットワークで結ばれた共有データシステムは、3つの望ましい特性(一貫性、高可用性、ネットワーク分断への耐性)のうち最大2つしか持てない」と説明し、この定理は1998年秋に初めて登場して1999年に公表され、2000年のPODC基調講演でも発表されて、その証明につながったと述べている。検証待ち CAP Twelve Years Later: How the "Rules" Have Changed
  • IBMの解説ページは、CAP定理を「分散システムは3つの望ましい特性のうち2つしか提供できない」と述べ、CPデータベースは可用性を犠牲に、APデータベースは一貫性を犠牲にするものと分類している。MongoDBはCP、Apache CassandraはAPの例として挙げられ、CAは分散システムでは事実上不可能とされる(日付表示なし、2026年10月27日確認)。検証待ち What Is the CAP Theorem? | IBM

Credibility

  • UC Berkeley の Eric A. Brewer 教授による2000年7月19日のPODC基調講演スライド「Towards Robust Distributed Systems」には、「Consistency vs. Availability」の論点や、一貫性・可用性・ネットワーク分断耐性を示す図、ACIDとBASEの対比が含まれている(PDFの先頭部分のみ確認)。検証待ち PODC Keynote, July 19, 2000: Towards Robust Distributed Systems
  • Seth Gilbert と Nancy Lynch(MIT)の論文は、一貫性・可用性・分断耐性の3つを同時に達成することは不可能だとする Brewer の予想を、非同期ネットワークモデルで証明し、部分同期モデルでの解決策を論じている。検証待ち Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services

Use Case

  • Eric Brewer(Google Fellow)は2017年2月15日のGoogle Cloudブログで、Cloud Spanner は技術的にはCPシステムで、分断時には一貫性を選び可用性を手放すが、実際にはSpannerは5ナイン超の可用性を達成しており(マルチリージョンCloud Spannerの目標はちょうど5ナイン)、ユーザーは実質CAとみなせると述べた。Spannerは自社のプライベートネットワーク上で動作するとも説明している。検証待ち Inside Cloud Spanner and the CAP Theorem
  • IBMの解説ページは、CAP定理を「分散システムは3つの望ましい特性のうち2つしか提供できない」と述べ、CPデータベースは可用性を犠牲に、APデータベースは一貫性を犠牲にするものと分類している。MongoDBはCP、Apache CassandraはAPの例として挙げられ、CAは分散システムでは事実上不可能とされる(日付表示なし、2026年10月27日確認)。検証待ち What Is the CAP Theorem? | IBM

Constraints / Current Status

  • Brewer は同じ2012年の論文で、「2 of 3」という定式化は特性間の緊張関係を単純化しすぎる誤解を招くものだったと述べ、分断は稀なので多くの場合は一貫性と可用性を両立できるとし、設計者は分断時に一方を安易に犠牲にすべきでないと論じている。また、CとAの選択は操作・サブシステム・データごとに変わり得るとも述べている。検証待ち CAP Twelve Years Later: How the "Rules" Have Changed
  • Eric Brewer(Google Fellow)は2017年2月15日のGoogle Cloudブログで、Cloud Spanner は技術的にはCPシステムで、分断時には一貫性を選び可用性を手放すが、実際にはSpannerは5ナイン超の可用性を達成しており(マルチリージョンCloud Spannerの目標はちょうど5ナイン)、ユーザーは実質CAとみなせると述べた。Spannerは自社のプライベートネットワーク上で動作するとも説明している。検証待ち Inside Cloud Spanner and the CAP Theorem

Key References

Knowledge Graph

References — 問い別の知識

データアクセス

各APIエンドポイントはJSON形式でデータを返します。生成AIのツール呼び出し・RAG連携での利用を想定しています。