DBデータベーススペシャリスト試験 午前Ⅱ

令和4年度秋期 データベーススペシャリスト 午前Ⅱ 問1

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

BASE特性を満たし,次の特徴をもつNoSQLデータベースシステムに関する記述のうち,適切なものはどれか。 〔NoSQLデータベースシステムの特徴〕 ・ネットワーク上に分散した複数のノードから構成される。 ・一つのノードでデータを更新した後,他の全てのノードにその更新を反映する。

選択肢

  1. ア
    クライアントからの更新要求を2相コミットによって全てのノードに反映する。
  2. イ
    データの更新結果は,システムに障害がなければ,いつかは全てのノードに反映される。
  3. ウ
    同一の主キーの値による同時の参照要求に対し,全てのノードは同じ結果を返す。
  4. エ
    ノード間のネットワークが分断されると,クライアントからの処理要求を受け付けなくなる。
解き方のヒントを見る

複製と整合性を整理する視点

複製を用いる分散データベースでは、更新がどの時点で各複製へ届き、利用者がどの状態を観測し得るかを整理し、整合性の強さを前提と照らして順序立てて確認する。

この問題で問われていること

更新の発生から各複製で観測されるまでの時間差と、読み取り時に許容される状態の違いに注目し、同期の前提と整合性の説明が同じ観点で結び付いているかを確認する。

視点

複製方式を評価するときは、更新の伝わり方、読み取りが参照する範囲、障害や遅延がある場合の観測可能性を分けて整理し、用語の定義と前提条件をそろえて比較する。

確認ポイント

  • 更新が各複製へ伝わるタイミングを整理する
  • 読み取り時に観測され得る状態を確認する
  • 整合性の説明と前提条件の対応を確認する
正解と解説を見る

正解

イ

解説

正しいのはイです。BASEを満たす分散NoSQLデータベースでは、更新結果が直ちに全ノードへ反映されるとは限りませんが、障害がなければ最終的に全ノードへ反映されます。

理由

BASEでは、分散ノード間の更新反映に時間差が生じることを許容します。そのため、更新直後の一時点ではノードごとに参照結果が異なる場合がありますが、障害がなければ最終的な整合性が得られます。

比較

2相コミットのように全ノードへの確実な反映を同期的に待つ方式や、常に全ノードで同じ参照結果を保証する方式は、BASEの説明として適切ではありません。ネットワーク分断時の受付可否も、BASEの特徴だけから一律には定まりません。

選択肢ア

これは不正解だよ。2相コミットは、複数ノードの処理を協調させ、全体の確定をそろえるための方式です。設問のBASEでは、更新直後の反映に時間差が生じることを許容するため、更新要求を必ず2相コミットで全ノードへ反映するという説明は適切ではありません。

選択肢イ(正解)

これは正解だよ。BASEを満たす分散NoSQLデータベースでは、更新直後に全ノードへ同時反映されるとは限りません。しかし、システムに障害がなければ、更新結果は時間の経過とともに他のノードへ伝わり、いつかは全てのノードに反映されます。

選択肢ウ

これは不正解だよ。同一の主キーに対する同時の参照であっても、更新の反映途中ではノードごとのデータ状態に差が残る場合があります。そのため、全てのノードが常に同じ結果を返すとはいえず、BASEの結果整合性の説明とも一致しません。

選択肢エ

これは不正解だよ。ノード間のネットワークが分断された場合に、クライアントからの処理要求を受け付けなくなるとは限りません。分断時の動作はシステムの設計によって異なり、この設問のNoSQLデータベースの特徴だけから一律に受付停止とは判断できません。

学習のポイント

BASEにおける結果整合性と、強い整合性との違いを理解する。

出典:独立行政法人 情報処理推進機構(IPA)令和4年度秋期 データベーススペシャリスト試験 午前Ⅱ 問1(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針