平成21年春期試験問題 午前問33
問33解説へ
分散データベースにおいて図のようなコマンドシーケンスがあった。調停者がシーケンス a で発行したコマンドはどれか。ここで,コマンドシーケンスの記述にUMLのシーケンス図の記法を用いる。
- COMMITの実行要求
- ROLLBACKの実行要求
- 判定コードの書出し要求
- ログ書出しの実行要求
正解 イ問題へ
広告
解説
2相コミットプロトコルは、トランザクションを他のサイトに更新可能かどうかを確認する第1相と、更新を確定する第2相の2つのフェーズに分け、各サイトのトランザクションをコミットもロールバックも可能な中間状態(セキュア状態)にした後、全サイトがコミットできる場合だけトランザクションをコミットするという方法で分散データベース環境でのトランザクションの原子性・一貫性を保証する手法です。
具体的には、コミットの調整を行う1つのノードを「調停者」、ネットワーク上の他のノードを「参加者」として、次の手順でコミットが行われます。
[第1相(投票層)]
具体的には、コミットの調整を行う1つのノードを「調停者」、ネットワーク上の他のノードを「参加者」として、次の手順でコミットが行われます。
[第1相(投票層)]
- 調停者となったノードはネットワーク上の他のノードにコミットの可否を問い合わせる。
- 全参加者は調停者にコミットの可否を応答する。
- 全参加者からコミットの合意を得られた場合は、全参加者にコミットの実行要求を発行する。コミットの停止を応答した参加者がいた場合、またはタイムアウトとなった場合は、全参加者にロールバックの実行要求を発行する。
- 各参加者は、コミット(またはロールバック)の完了とともに調停者に処理完了のメッセージを送る。
- 調停者が、全参加者からの処理完了メッセージを受け取り、トランザクションの完了となる。
広告