データベース分散システム

CAP定理

キャップていり · CAP Theorem
22 views

分散システムにおいて「一貫性」「可用性」「分断耐性」の3つの要素のうち、同時に完全に満たせるのは最大2つまでであるという情報工学の基本定理です。大規模なAI基盤や分散データベースを構築・選定する際の指針となります。

CAP定理とは

CAP定理とは、ネットワークで接続された分散システムにおいて、データの一貫性・可用性・分断耐性の3つを同時に完全には満たせないという基本原理です。

詳しく解説

エリック・ブリューワーによって提唱された定理で、C(Consistency)は「一貫性」、A(Availability)は「可用性」、P(Partition Tolerance)は「分断耐性」を表します。現実のネットワーク環境では通信障害による分断を完全に防ぐことはできないため、実質的にはネットワーク分断が発生した際に「一貫性」を優先するか(CP構成)、「可用性」を優先するか(AP構成)の選択が求められます。大規模な機械学習基盤やリアルタイム推論システムを支えるデータストアの設計において、トレードオフを判断するための重要な基準となります。

具体例・使われ方

金融決済や残高管理のように厳密な整合性が必須の領域では一貫性を重視したCP構成のシステムが選択されます。一方、AIの学習ログ収集やレコメンド用の特徴量配信など、一時的なデータの不整合が許容され継続稼働が求められる場面では、可用性を重視したNoSQLデータベースがAP構成として活用されます。

似た用語との違い

リレーショナルデータベースで重視される信頼性の指標「ACID特性」と混同されやすいですが、ACID特性の一貫性はビジネスルールの整合性を指すのに対し、CAP定理の一貫性は全ノードが同一の最新データを返す単一コピー性を意味します。また、CAP定理のAP構成に対応する緩やかな整合性を許容する設計思想として「BASE特性」が存在します。

注意点

「3つのうち2つを常に選び、残り1つを完全に捨てる」という極端な二者択一と誤解されがちですが、ネットワーク分断が発生していない平常時には一貫性と可用性を両立できます。また、完全にどちらかを犠牲にするのではなく、結果整合性のように実用的なバランスを調整して運用することが一般的です。

更新日時: 2026年9月6日 20:21