令和元年度 秋期 応用情報技術者試験 午前 問30
テクノロジ/データベース分散トランザクション管理において,複数サイトのデータベースを更新する場合に用いられる 2 相コミットプロトコルに関する記述のうち,適切なものはどれか。
出典:令和元年度 秋期 応用情報技術者試験 午前 問30
- ア主サイトが一部の従サイトからのコミット準備完了メッセージを受け取っていない場合,コミット準備が完了した従サイトに対してだけコミット要求を発行する。
- イ主サイトが一部の従サイトからのコミット準備完了メッセージを受け取っていない場合,全ての従サイトに対して再度コミット準備要求を発行する。
- ウ主サイトが全ての従サイトからコミット準備完了メッセージを受け取った場合,全ての従サイトに対してコミット要求を発行する。
- エ主サイトが全ての従サイトに対してコミット準備要求を発行した場合,従サイトは,コミット準備が完了したときだけ応答メッセージを返す。
正解:ウ
解説
2 相コミットプロトコルでは,第 1 相で主サイトが全従サイトにコミット準備要求を出し,各従サイトが可否を応答します。第 2 相では,全従サイトから準備完了の応答が得られた場合にだけコミット要求を発行し,一つでも準備できないサイトがあれば全サイトにロールバック(アボート)を指示します。
選択肢ごとの解説
- ア誤り。一部のサイトだけコミットさせるとサイト間で整合性が崩れます。準備完了が揃わない場合は全サイトをロールバックさせます。
- イ誤り。再度コミット準備要求を出すのではなく,タイムアウトなどの場合はロールバック(アボート)要求を発行します。
- ウ正しい。全ての従サイトからコミット準備完了メッセージを受け取った場合にだけ,全従サイトへコミット要求を発行します。
- エ誤り。従サイトは準備が完了した場合も完了できなかった場合も,いずれかの応答メッセージを返します。