データベーススペシャリスト 平成26年春期 午前U 問12

午前U 問12

図は,分散システムにおける2相コミットプロトコルの正常処理の流れを表している。③の動作はどれか。
12.gif/image-size:465×273
  • アンロック実行指示
  • コミット可否問合せ
  • コミット実行指示
  • ログ取得指示

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

2相コミット(Two Phase Commit)は、トランザクションのコミットを次の2つのフェーズに分けて行うことで、分散データベース環境でのトランザクションの原子性・一貫性を保証する仕組みです。
第1フェーズ
他のサイトに更新可能かどうかを確認する
第2フェーズ
全サイトからの合意が得られた場合に更新を確定する
具体的には、コミットの調整を行う1つのノードを「調停者(主サイト)」、ネットワーク上の他のノードを「参加者」として、次の手順でコミットが行われます。
  1. 調停者となったノードはネットワーク上の他のノードにコミットの可否を問い合わせる。
  2. 全参加者からコミットの合意を得られた場合は、全参加者にコミットの実行要求を発行する。コミットの停止を応答した参加者がいた場合、又はタイムアウトとなった場合は、全参加者にロールバックの実行要求を発行する。
  3. 各参加者は、コミット(またはロールバック)の完了とともに調停者に処理完了のメッセージを送る。
  4. 調停者が、全参加者からの処理要求メッセージを受け取り、トランザクションの完了となる。
2相コミットが開始されるのは副サイトで実行していた全てのサブトランザクションからの終了通知を主サイトが受け取った時点です。設問の図ではトランザクション終了処理の開始がそれに当たります。2相コミットの手順に従えば、図の①,②の動作が第1フェーズ、③,④が第2フェーズになります。
12a.gif/image-size:437×137
したがって③のメッセージは「コミット実行指示」が適切です。
© 2016-2019 データベーススペシャリストドットコム All Rights Reserved.

Pagetop