応用情報技術者試験 応用情報技術者試験 令和元年度秋期 午前 問30: 分散トランザクション管理において,複数サイトのデータベースを更新する場合に用いられる2相コミットプロトコルに関する記述のうち,適切なものはどれか。
分散管理において,複数サイトのデータベースを更新する場合に用いられるプロトコルに関する記述のうち,適切なものはどれか。
44.31%
問題本文
分散トランザクション管理において,複数サイトのデータベースを更新する場合に用いられる2相コミットプロトコルに関する記述のうち,適切なものはどれか。
選択肢
- ア.主サイトが一部の従サイトからのコミット準備完了メッセージを受け取っていない場合,コミット準備が完了した従サイトに対してだけコミット要求を発行する。
- イ.主サイトが一部の従サイトからのコミット準備完了メッセージを受け取っていない場合,全ての従サイトに対して再度コミット準備要求を発行する。
- ウ.主サイトが全ての従サイトからコミット準備完了メッセージを受け取った場合,全ての従サイトに対してコミット要求を発行する。
- エ.主サイトが全ての従サイトに対してコミット準備要求を発行した場合,従サイトは,コミット準備が完了したときだけ応答メッセージを返す。
正解
ウ. 主サイトが全ての従サイトからコミット準備完了メッセージを受け取った場合,全ての従サイトに対してコミット要求を発行する。
解説
2相コミットは、第1相で主サイトが各従サイトに「コミット準備できるか」を問い合わせ、第2相で全従サイトから準備完了の返答が揃った場合にだけ全サイトへコミットを指示する仕組みで、全サイトの足並みを揃えて整合性を保つ。ウは「全ての従サイトから準備完了を受け取った場合、全ての従サイトにコミット要求を発行する」とこの動作を正しく述べているので、正解は ウ である。
選択肢ごとの解説
- ア.一部しか準備完了していないのに準備完了したサイトだけコミットすると、サイト間で整合性が崩れる。全サイトの準備完了を待つ原則に反するので誤り。
- イ.準備完了が揃わない場合は再度準備要求を出すのではなく、コミットを中止してロールバック(アボート)を指示するのが正しい動作なので誤り。
- ウ.全従サイトから準備完了を受け取ったときだけ全サイトにコミット要求を出すという、2相コミットの正しい動作を述べており正しい。
- エ.従サイトは準備が完了したときだけでなく、準備できない(失敗した)ときも応答(否定)を返す必要がある。「完了したときだけ応答」では失敗を主サイトが判断できず誤り。
応用情報技術者試験 令和元年度秋期 午前 の過去問一覧へ戻る・問30