2019年 秋期 応用情報技術者 午前 問30

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

 ア  主サイトが一部の従サイトからコミット準備完了メッセージを受け取っていない場合、コミット準備が完了した従サイトに対してだけコミット要求を発行する。
 イ  主サイトが一部の従サイトからコミット準備完了メッセージを受け取っていない場合、全ての従サイトに対して再度コミット準備要求を発行する。
 ウ  主サイトが全ての従サイトからコミット準備完了メッセージを受け取った場合、全ての従サイトに対してコミット要求を発行する。
 エ  主サイトが全ての従サイトに対してコミット準備要求を発行した場合、従サイトは、コミット準備が完了したときだけ応答メッセージを返す。


答え ウ


解説

 ア  主サイトが一部の従サイトからコミット準備完了メッセージを受け取っていない場合、主サイトはトランザクション処理を中断しロールバックを行います。(従サイトに要求します。)(×)
 イ  主サイトが一部の従サイトからコミット準備完了メッセージを受け取っていない場合、主サイトはトランザクション処理を中断しロールバックを行います。(従サイトに要求します。)(×)
 ウ  主サイトが全ての従サイトからコミット準備完了メッセージを受け取った場合、全ての従サイトに対してコミット要求を発行します。(〇)
 エ  主サイトが全ての従サイトに対してコミット準備要求を発行した場合、従サイトは、コミット準備が完了したときはコミット可応答を、コミットができない場合にはコミット不可応答メッセージを返します。(×)


キーワード
・2相コミットプロトコル

キーワードの解説
  • 2相コミットプロトコル(Two-Phase Commit Protocol)
    分散システムにおいて、全データベースがトランザクション終了時に同時にコミットするための手順のことです。
    2相コミットプロトコルでは、まず処理全体を管理する調停者が、参加者に対し、コミットが行えるか問い合わせ(フェーズ1)、全ての参加者から「準備完了」の応答があったら、コミットを行うことを参加者に要求(フェーズ2)し、コミットが行われる。
    参加者のどれかで問題が発生した場合には、ロールバック処理で処理の撤回を行う。

もっと、「2相コミットプロトコル」について調べてみよう。

戻る 一覧へ 次へ