令和元年度秋期 応用情報技術者試験 午前 問30

分野:データベース|実際に出題されたIPA過去問題

分散トランザクション管理において,複数サイトのデータベースを更新する場合に用いられる 2 相コミットプロトコルに関する記述のうち,適切なものはどれか。

  1.  主サイトが一部の従サイトからのコミット準備完了メッセージを受け取っていない場合,コミット準備が完了した従サイトに対してだけコミット要求を発行する。
  2.  主サイトが一部の従サイトからのコミット準備完了メッセージを受け取っていない場合,全ての従サイトに対して再度コミット準備要求を発行する。
  3.  主サイトが全ての従サイトからコミット準備完了メッセージを受け取った場合,全ての従サイトに対してコミット要求を発行する。
  4.  主サイトが全ての従サイトに対してコミット準備要求を発行した場合,従サイトは,コミット準備が完了したときだけ応答メッセージを返す。
解答・解説を見る

正解:ウ

AI解説

2相コミットプロトコルでは、主サイトが全ての従サイトから「コミット準備完了」の応答を受け取った場合に限り、全ての従サイトに対してコミット要求(実際のコミット実行指示)を発行する。一部でも準備未完了があれば全体をアボートするのが原則である。 ア: 一部の従サイトから準備完了メッセージを受け取っていない場合、準備完了した従サイトだけにコミット要求を出すのではなく、全体としてアボート(中止)する必要があるため誤りである。 イ: 一部の従サイトから準備完了メッセージを受け取っていない場合、再度準備要求を出すのではなく、通常はタイムアウト等によりトランザクション全体をアボートする処理に移るため誤りである。 ウ: 主サイトが全ての従サイトからコミット準備完了メッセージを受け取った場合に、全ての従サイトへコミット要求を発行するという流れは2相コミットプロトコルの正しい動作であり正解である。 エ: 従サイトがコミット準備要求に対して準備完了のときだけ応答を返すという記述は誤りで、実際には準備ができない場合も「準備不可」の応答を返す必要があり、応答自体は必ず行われる。 💡 2相コミットは「第1相:全従サイトへ準備要求→応答収集」「第2相:全員準備完了ならコミット、一つでも失敗ならアボート」という2段階構造を必ず押さえておく。

出典:令和元年度 秋期 応用情報技術者試験 午前 問30 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース)の過去問