トランザクション処理 (全51問中16問目)

No.16

分散データベースにおいて図のようなコマンドシーケンスがあった。調停者がシーケンス a で発行したコマンドはどれか。ここで,コマンドシーケンスの記述にUMLのシーケンス図の記法を用いる。
29.gif/image-size:429×202
  • COMMITの実行要求
  • ROLLBACKの実行要求
  • 判定コードの書出し要求
  • ログ書出しの実行要求
  • [この問題の出題歴]
  • 応用情報技術者 H21春期 問33

分類

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

正解

解説

2相コミットプロトコルは、トランザクションを他のサイトに更新可能かどうかを確認する第1フェーズと、更新を確定する第2フェーズに分け、各サイトのトランザクションをコミットもロールバックも可能な中間状態(セキュア状態)にした後、全サイトがコミットできる場合だけトランザクションをコミットするという方法で分散データベース環境でのトランザクションの原子性・一貫性を保証する手法です。

具体的には、コミットの調整を行う1つのノードを「調停者」、ネットワーク上の他のノードを「参加者」として、次の手順でコミットが行われます。
  1. 調停者となったノードはネットワーク上の他のノードにコミットの可否を問い合わせる。(フェーズ1)
  2. 全参加者からコミットの合意を得られた場合は、全参加者にコミットの実行要求を発行しする。コミットの停止を応答した参加者がいた場合は、全参加者にロールバックの実行要求を発行する。
  3. 各参加者は、コミット(またはロールバック)の完了とともに調停者に処理完了のメッセージを送る。(フェーズ2)
  4. 調停者が、全参加者からの処理要求メッセージを受け取り、トランザクションの完了となる。
図をみると、調停者からのCOMMIT可否問合せに対して、システム1は「可」、システム2は「否」と応答しているので、すべての参加者から合意が得られなかった調停者は、システム1とシステム2に「ROLLBACKの実行要求」を発行してトランザクションを完了させます。
29a.gif/image-size:429×202
© 2010-2019 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop