ホーム > データベーススペシャリスト試験 > 2020年
データベーススペシャリスト試験 2020年 午前2 問01
図のデータベース1, 2は互いのデータの複製をもつ冗長構成である。クライアントからの更新・参照要求を受けたデータベースサーバは直下のデータベースを更新参照し、他方のサーバにデータ更新を通知する。サーバ1, 2間のネットワークが分断し、データ更新を通知できなくなったとき、CAP定理で重視する特性C, A, Pに対するサーバの挙動のうち適切な組合せはどれか。


ア:
イ:(正解)
ウ:
エ:
解説
CAP定理に基づく冗長データベースの挙動【午前2 解説】
要点まとめ
- 結論:ネットワーク分断時、CAP定理の特性CとPを重視すると一方のサーバ停止、AとP重視なら両方動作継続となる。
- 根拠:CAP定理は一貫性(C)、可用性(A)、分断耐性(P)の3特性を同時に完全には満たせないため、重視する特性により挙動が変わる。
- 差がつくポイント:分断時のサーバの動作継続・停止の判断と、どの特性を優先するかの理解が合否を分ける。
正解の理由
CAP定理は分散システムにおいて「一貫性(C)」「可用性(A)」「分断耐性(P)」の3つの特性を同時に満たすことは不可能と示しています。
問題の冗長構成のデータベースは、サーバ間のネットワークが分断すると更新通知ができなくなります。
問題の冗長構成のデータベースは、サーバ間のネットワークが分断すると更新通知ができなくなります。
- CとPを重視する場合は、一貫性を保つために分断された片方のサーバは停止し、もう片方のみが動作します。
- AとPを重視する場合は、可用性を優先し両方のサーバが動作し続けますが、一貫性は保証されません。
したがって、選択肢「イ」が正解です。
よくある誤解
CAP定理は3つの特性を同時に満たせないため、分断時に両方のサーバが停止することは通常ありません。
また、分断耐性(P)を重視すると必ず両方動作するわけでもなく、一貫性とのトレードオフが生じます。
また、分断耐性(P)を重視すると必ず両方動作するわけでもなく、一貫性とのトレードオフが生じます。
解法ステップ
- CAP定理の3特性(C, A, P)の意味を理解する。
- ネットワーク分断時の影響を考える。
- CとPを重視した場合の挙動を考察する(整合性優先で片方停止)。
- AとPを重視した場合の挙動を考察する(可用性優先で両方動作)。
- 選択肢の内容と照合し、正しい組み合わせを選ぶ。
選択肢別の誤答解説
- ア:CとP重視で「一方停止、もう一方動作」は正しいが、AとP重視で「両方停止」は誤り。可用性重視なら停止しない。
- イ:CとP重視で「一方停止、もう一方動作」、AとP重視で「両方動作し続ける」と正しくCAP定理の原則に合致。
- ウ:CとP重視で「両方動作」は誤り。整合性を保つために片方停止が必要。AとP重視で「一方停止」は誤り。
- エ:CとP重視で「両方動作」は誤り。AとP重視で「両方停止」も誤り。
補足コラム
CAP定理はEric Brewerによって提唱され、分散システム設計の基本原則となっています。
- 一貫性(C):全てのノードが同じデータを持つこと。
- 可用性(A):常に応答が得られること。
- 分断耐性(P):ネットワーク分断があってもシステムが動作し続けること。
実際のシステムでは、用途に応じてどの特性を優先するか設計者が選択します。
FAQ
Q: CAP定理で「分断耐性」とは具体的に何を指しますか?
A: ネットワークが分断されてもシステムが停止せず動作し続ける能力を指します。
A: ネットワークが分断されてもシステムが停止せず動作し続ける能力を指します。
Q: なぜ一貫性と可用性は同時に満たせないのですか?
A: ネットワーク分断時に全ノードのデータを同期できず、整合性を保つか応答を続けるかのどちらかを選ぶ必要があるためです。
A: ネットワーク分断時に全ノードのデータを同期できず、整合性を保つか応答を続けるかのどちらかを選ぶ必要があるためです。
Q: CAP定理はどのようなシステム設計に役立ちますか?
A: 分散データベースやクラウドサービスの設計で、どの特性を優先すべきか判断する指針となります。
A: 分散データベースやクラウドサービスの設計で、どの特性を優先すべきか判断する指針となります。
関連キーワード: CAP定理, 分散システム, 一貫性, 可用性, 分断耐性, 冗長構成, データベース冗長化, ネットワーク分断