分散データベースシステムにおいて、複数のデータベースを更新する場合に用いられる2相コミットの処理手順として、適切なものはどれか。
ア | 主サイトが各データベースサイトにコミット準備要求を発行した場合、各データベースサイトは、準備ができていない場合だけ応答を返す。 |
イ | 主サイトは、各データベースサイトにコミットが可能であることを確認した後、コミットを発行する。 |
ウ | 主サイトは、各データベースサイトにコミットを発行し、コミットが失敗した場合には、再度コミットを発行する。 |
エ | 主サイトは、各データベースサイトのロックに成功した後、コミットを発行し、各データベースサイトをアンロックする。 |
答え イ
【解説】
2相コミットは分散システムにおいて、全データベースがトランザクション終了時に同時にコミットするための手順のことで、まず処理全体を管理する調停者(主サイト)が、参加者(各データベースサイト)に対し、コミットが行えるか問い合わせ(フェーズ1)、全ての参加者から「準備完了」の応答があったら、コミットを行うことを参加者に要求(フェーズ2)し、コミットが行われます。
なお、参加者のどれかで問題が発生した場合には、ロールバック処理で処理の撤回を行います。
【キーワード】
・コミット