応用情報技術者 2022年 春期 午前2 問26
問題文
CAP 定理におけるAとPの特性をもつ分散システムの説明として、適切なものはどれか。
選択肢
ア:可用性と整合性と分断耐性の全てを満たすことができる。
イ:可用性と整合性を満たすが分断耐性を満たさない。
ウ:可用性と分断耐性を満たすが整合性を満たさない。(正解)
エ:整合性と分断耐性を満たすが可用性を満たさない。
CAP定理におけるAとPの特性をもつ分散システムの説明【午前2 解説】
要点まとめ
- 結論:CAP定理で「A(可用性)」と「P(分断耐性)」を満たすシステムは「整合性」を犠牲にする必要があります。
- 根拠:CAP定理は分散システムで同時に「整合性」「可用性」「分断耐性」の3つを全て満たすことは不可能と示しています。
- 差がつくポイント:どの2つの特性を優先するかでシステムの挙動が変わり、問題文の「AとP」を選んだ場合は整合性が犠牲になる点を理解することが重要です。
正解の理由
選択肢ウは「可用性(Availability)」と「分断耐性(Partition tolerance)」を満たしながら「整合性(Consistency)」を満たさないと説明しています。CAP定理の定義に基づき、ネットワーク分断が発生した場合でもサービスを継続(可用性)しつつ、分断耐性を確保するには整合性を犠牲にする必要があるため、ウが正解です。
よくある誤解
CAP定理は3つの特性を同時に満たせないため、全てを満たせると誤解しがちです。特に「可用性」と「整合性」を両立できると考えるのは誤りです。
解法ステップ
- CAP定理の3つの特性「Consistency(整合性)」「Availability(可用性)」「Partition tolerance(分断耐性)」を確認する。
- 問題文で求められている特性「AとP」を明確にする。
- CAP定理の原則から「AとP」を同時に満たす場合、残る「C(整合性)」は犠牲になることを理解する。
- 選択肢の説明と照らし合わせて正しいものを選ぶ。
選択肢別の誤答解説
- ア: 「可用性」「整合性」「分断耐性」の全てを満たすことはCAP定理で不可能です。
- イ: 「可用性」と「整合性」を満たすが「分断耐性」を満たさないのは、分断耐性を犠牲にした場合の説明であり、問題の「AとP」とは異なります。
- ウ: 「可用性」と「分断耐性」を満たし「整合性」を犠牲にするため正解です。
- エ: 「整合性」と「分断耐性」を満たし「可用性」を犠牲にする場合の説明であり、問題の条件と異なります。
補足コラム
CAP定理はEric Brewerによって提唱され、分散システム設計の基本原則となっています。実際のシステムでは、どの特性を優先するかは用途や要件によって異なり、例えば金融システムは整合性重視、SNSは可用性重視などの設計がなされます。
FAQ
Q: CAP定理で「分断耐性」とは何ですか?
A: ネットワーク分断が発生してもシステムが動作を続けられる特性です。
A: ネットワーク分断が発生してもシステムが動作を続けられる特性です。
Q: 「整合性」を犠牲にすると具体的にどうなるのですか?
A: データの一貫性が一時的に保たれず、異なるノードで異なるデータが存在する可能性があります。
A: データの一貫性が一時的に保たれず、異なるノードで異なるデータが存在する可能性があります。
関連キーワード: CAP定理、分散システム、可用性、整合性、分断耐性

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

