問 1
応用技術CAP 定理に関する記述として,適切なものはどれか。
- アシステムの可用性は基本的に高く,サービスは利用可能であるが,整合性については厳密ではない。しかし,最終的には整合性が取れた状態となる。
- イトランザクション処理は,データの整合性を保証するので,実行結果が矛盾した状態になることはない。
- ウ複数のトランザクションを並列に処理したときの実行結果と,直列で逐次処理したときの実行結果は一致する。
- エ分散システムにおいて,整合性,可用性,分断耐性の三つを同時に満たすことはできない。
解答と解説を見る
正解: エ
結論: 整合性・可用性・分断耐性の 3 つは同時に満たせません。
なぜ: ネットワークが分断されて連絡が取れなくなったとき、選べる道は 2 つしかありません。
- 返事をしない(可用性を捨てる)… 他のノードと揃っている確信が持てないので答えない
- 古いかもしれない値を返す(整合性を捨てる)… とにかく答える
分断そのものは避けられない以上、残りの 2 つのどちらかを諦めるしかないというのが CAP 定理です。
アは結果整合性(BASE)の説明、イは ACID の一貫性、ウは直列化可能性の説明で、いずれも CAP 定理そのものではありません。
⚠️ 「3 つのうち 2 つを選ぶ」と要約されがちですが、正確には分断が起きたときに整合性か可用性かを選ぶという話です。分断が起きていない平常時は両方満たせます。
解説は本サイトが独自に作成したものです。根拠にした一次情報は次のとおりです。
- IPA: データベーススペシャリスト試験(出題範囲)(2026-09-02 確認)