令和2年度 10月 午前Ⅱ 問1
データベース応用
CAP定理に関する問題
図のデータベース1,2は互いのデータの複製をもつ冗長構成である。クライアントからの更新・参照要求を受けたデータベースサーバ(以下,サーバという)は直下のデータベースを更新・参照し,他方のサーバにデータ更新を通知する。通知を受けたサーバは直下のデータベースに更新を反映する。
サーバ1,2間のネットワークが分断し,データ更新を通知できなくなったとき,CAP定理で重視する特性(C,A,P)に対するサーバの挙動のうち,適切な組合せはどれか。
構成図:
クライアント1 ―(更新・参照要求)→ サーバ1 ―(更新・参照)→ データベース1 クライアント2 ―(更新・参照要求)→ サーバ2 ―(更新・参照)→ データベース2 サーバ1 ←(更新を通知)→ サーバ2
選択肢は原典ではCAP定理の特性C及びPを重視する場合/CAP定理の特性A及びPを重視する場合の表。
- アCAP定理の特性C及びPを重視する場合:一方のサーバは停止し,もう一方のサーバは動作し続ける。 / CAP定理の特性A及びPを重視する場合:両方のサーバが停止する。
- イCAP定理の特性C及びPを重視する場合:一方のサーバは停止し,もう一方のサーバは動作し続ける。 / CAP定理の特性A及びPを重視する場合:両方のサーバが動作し続ける。
- ウCAP定理の特性C及びPを重視する場合:両方のサーバが動作し続ける。 / CAP定理の特性A及びPを重視する場合:一方のサーバは停止し,もう一方のサーバは動作し続ける。
- エCAP定理の特性C及びPを重視する場合:両方のサーバが動作し続ける。 / CAP定理の特性A及びPを重視する場合:両方のサーバが停止する。
答えと解説を見る
✓ これが正解イCAP定理の特性C及びPを重視する場合:一方のサーバは停止し,もう一方のサーバは動作し続ける。 / CAP定理の特性A及びPを重視する場合:両方のサーバが動作し続ける。
解説
CとP重視なら片方を止め、AとP重視なら両方を動かし続けます。
ネットワークが分断されると、二つのサーバは更新を互いに通知できなくなります。このとき両方のサーバが更新を受け付け続けると、データベース1と2の内容が食い違っていきます。一貫性(C)と分断耐性(P)を重視するなら、食い違いを生まないことが優先なので、一方のサーバを止めて、もう一方だけで処理を続けます。可用性(A)と分断耐性(P)を重視するなら、どちらのクライアントにも応答し続けることが優先なので、両方のサーバを動かし続け、内容の食い違いは分断が解消してから合わせます。分断が起きたときは、止めて一貫性を守るか、動かして可用性を守るかの選択になる、と押さえると判断できます。
ほかの選択肢はなぜ違うのか
- アCAP定理の特性C及びPを重視する場合:…:CとPを重視する場合の挙動は合っていますが、AとPを重視する場合に両方のサーバを止めています。両方止めるとどちらのクライアントにも応答できなくなり、可用性を重視するという前提と正反対です。
- ウCAP定理の特性C及びPを重視する場合:…:CとPを重視するのに両方のサーバを動かし続けると、通知できない更新がそれぞれにたまり、データベース1と2の内容が食い違います。AとPの側で一方を止めるのも、応答し続けるという可用性の考え方と合いません。
- エCAP定理の特性C及びPを重視する場合:…:CとPを重視して両方を動かし続けると一貫性が崩れ、AとPを重視して両方を止めると可用性が失われます。どちらの組合せも、重視する特性と実際の挙動が逆に結び付いています。
この問題の用語
- 可用性使いたいときに情報や仕組みを使える状態が保たれていること。情報セキュリティの三要素の一つで、システムでは稼働率で表します。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問1
同じ用語が出る問題
- 令和6年度 秋期 午前Ⅱ 問23:負荷分散方式の説明(可用性)
- 令和5年度 秋期 午前Ⅱ 問1:CAP定理に関する記述(可用性)
- 平成31年度 春期 午前Ⅱ 問1:分散データベースに関する問題(可用性)
- 平成27年度 春期 午前Ⅱ 問23:シェアードエブリシングの説明(可用性)
- 平成25年度 春期 午前Ⅱ 問25:SOAに関する問題(可用性)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)