ホーム > データベーススペシャリスト試験 > 2021年
データベーススペシャリスト試験 2021年 午前2 問01
CAP定理に関する記述として適切なものはどれか。
ア:システムの可用性は基本的に高くサービスは利用可能であるが整合性については厳密ではない。しかし最終的には整合性が取れた状態となる。
イ:トランザクション処理はデータの整合性を保証するので実行結果が矛盾した状態になることはない。
ウ:複数のトランザクションを並列に処理したときの実行結果と直列で逐次処理したときの実行結果は一致する。
エ:分散システムにおいて整合性可用性分断耐性の三つを同時に満たすことはできない。(正解)
解説
CAP定理に関する記述 +【午前2 解説】
要点まとめ
- 結論:CAP定理は分散システムで整合性・可用性・分断耐性の三つを同時に完全に満たすことは不可能と示す理論です。
- 根拠:ネットワーク分断が発生した場合、整合性を優先するか可用性を優先するかの選択を迫られるため、三者同時の保証はできません。
- 差がつくポイント:CAP定理の「三つの特性のうち二つは同時に満たせるが三つは無理」という本質を正確に理解し、誤解しやすいトランザクションの整合性や並列処理の結果との違いを押さえることです。
正解の理由
選択肢エはCAP定理の核心を正しく表現しています。分散システムでは、整合性(Consistency)、可用性(Availability)、分断耐性(Partition tolerance)の三つの特性を同時に完全に満たすことは理論上不可能です。ネットワーク分断が起きた際に、整合性を優先すると可用性が犠牲になり、可用性を優先すると整合性が損なわれるため、三つを同時に保証できません。これがCAP定理の基本的な主張であり、分散システム設計の重要な指針となっています。
よくある誤解
CAP定理はトランザクションの整合性や並列処理の結果の一致を保証するものではありません。ネットワーク分断時の特性のトレードオフに関する理論である点を混同しやすいです。
解法ステップ
- CAP定理の三つの特性「整合性」「可用性」「分断耐性」を理解する。
- ネットワーク分断が起きた場合のシステムの挙動を考える。
- 三つの特性を同時に満たすことが理論的に不可能であることを確認する。
- 選択肢の内容がCAP定理の本質を正しく表しているかを判断する。
- トランザクション処理や並列処理の説明と混同しないよう注意する。
選択肢別の誤答解説
- ア: 「最終的に整合性が取れた状態となる」とあるが、CAP定理は整合性の保証が常に可能とは限らないことを示しているため誤り。
- イ: トランザクション処理の整合性保証は単一システム内の話であり、分散システムのCAP定理とは別概念。
- ウ: 並列処理と直列処理の結果が一致するのは「直列化可能性」の話であり、CAP定理とは無関係。
- エ: 分散システムで整合性・可用性・分断耐性の三つを同時に満たすことはできないというCAP定理の核心を正しく表現している。
補足コラム
CAP定理は2000年にエリック・ブルーワーによって提唱され、その後ギル・パクマンが形式的に証明しました。分散システム設計では、用途に応じて整合性優先(CPシステム)か可用性優先(APシステム)かを選択することが多いです。また、最終的に整合性を取る「最終的整合性(Eventual Consistency)」という考え方もありますが、これはCAP定理の制約を回避するための妥協策の一つです。
FAQ
Q: CAP定理の「分断耐性」とは何ですか?
A: ネットワーク分断が発生してもシステムが動作を続ける能力を指し、分散システムでは必須の特性です。
A: ネットワーク分断が発生してもシステムが動作を続ける能力を指し、分散システムでは必須の特性です。
Q: CAP定理はトランザクションの整合性を保証しますか?
A: いいえ。CAP定理は分散システムの特性のトレードオフを示すもので、トランザクションの整合性保証とは別の概念です。
A: いいえ。CAP定理は分散システムの特性のトレードオフを示すもので、トランザクションの整合性保証とは別の概念です。
Q: 「最終的整合性」とは何ですか?
A: ネットワーク分断後に一時的に整合性が崩れても、最終的には整合性が回復するという分散システムの設計方針です。
A: ネットワーク分断後に一時的に整合性が崩れても、最終的には整合性が回復するという分散システムの設計方針です。
関連キーワード: CAP定理, 分散システム, 整合性, 可用性, 分断耐性, トレードオフ, 最終的整合性