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

平成26年度春期 データベーススペシャリスト 午前Ⅱ 問12

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

問題

図は,分散システムにおける2相コミットプロトコルの正常処理の流れを表している。③の動作はどれか。
システムA・B・C間でトランザクション開始,データ転送,終了処理①〜④を行う2相コミットプロトコルのシーケンス図。
システムA・B・C間でトランザクション開始,データ転送,終了処理①〜④を行う2相コミットプロトコルのシーケンス図。

選択肢

  1. ア
    アンロック実行指示
  2. イ
    コミット可否問合せ
  3. ウ
    コミット実行指示
  4. エ
    ログ取得指示
解き方のヒントを見る

境界と整合性の見方

トランザクションに関する設問では、処理のまとまりと整合性がどの時点で評価されるかに注目し、操作の順序、途中状態、確定や取り消しの区切りを整理して考えます。用語の役割を混同しないことが重要です。

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

確認の中心は、処理の境界をどこに置くと、関連するデータの状態を一つのまとまりとして検討できるかです。個別の語句より、境界の前後で状態がどう変わるかを比較し、整合性との関係を丁寧に整理してください。

視点

操作を時系列に並べ、ひと続きの処理として扱う範囲、途中で観測される状態、処理結果が確定する区切りを分けて整理します。そのうえで、各段階でデータ間の関係が保たれているかを確認しましょう。

確認ポイント

  • 処理の開始点と終了点を整理する
  • 途中状態と最終状態を区別する
  • データ間の整合性をどの段階で確認するか考える
正解と解説を見る

正解

ウ

解説

二相コミットでは、準備段階で参加システムの実行可否を確認し、その後、管理側が確定処理を実行するよう各参加システムへ指示します。図の③はこの確定処理の指示に当たります。

理由

図では、トランザクション終了処理の開始後に、①と②で各システムとの確認を行い、その後に③のメッセージが送られています。③は確認結果を受けて、各システムに確定処理を実行させる段階です。

比較

アンロックは確定処理後の資源解放に関係し、コミット可否問合せは準備段階の確認です。ログ取得指示も図の③の役割ではありません。したがって③はコミット実行指示です。

選択肢ア

これは不正解だよ。アンロック実行指示は、コミットなどの終了処理が確定した後に、ロックしていた資源を解放するための指示です。図の③は、①と②による確認の後、各システムに確定処理を進めさせる段階に位置しているため、資源解放を表すものではありません。

選択肢イ

これは不正解だよ。コミット可否問合せは、参加システムがコミット可能かを確認する準備段階のメッセージです。図では①や②がその確認に当たる位置にあり、③はそれらの確認が済んだ後に送られています。したがって③を可否問合せとするのは、二相コミットの順序と合いません。

選択肢ウ(正解)

これは正解だよ。二相コミットでは、まず参加システムへ準備を確認し、全体として処理可能であることを確認した後、コミットを実行させます。図の③は①と②による確認の後に各システムへ送られているため、確定処理を指示するコミット実行指示に該当します。

選択肢エ

これは不正解だよ。ログ取得指示は、障害回復や処理記録の確認などを目的とする操作であり、二相コミットの確認後に全参加システムへ確定処理を伝える③の役割とは異なります。図の③は終了処理を進める主要な通知なので、ログ取得指示ではありません。

学習のポイント

二相コミットの準備段階と確定段階の役割を、図のメッセージ順序と対応付けて理解する。

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

関連する過去問一覧

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