令和4年度 春期 ITサービスマネージャ試験 午前II 問23
テクノロジデータベース分散DB・NoSQL
図は,分散システムにおける2相コミットプロトコルの正常処理の流れを表している。③の動作はどれか。

図の説明テキスト
分散システムにおける2相コミットプロトコルの正常処理の流れを表すシーケンス図。
・ライフラインとして「システム A」、「システム B」、「システム C」が存在し、システムAがコーディネータの役割を果たしている。
・左側には処理のフェーズがテキストと括弧で示されている。
・「トランザクションの開始」の入力後、「トランザクションのためのデータ転送」として、システムAからシステムB・Cへメッセージが送られ、それぞれからシステムAへ応答が返る。
・「トランザクション終了処理の開始」の入力後、以下のやり取りが行われる:
- ①: システムAからシステムBおよびシステムCへのメッセージ
- ②: システムBおよびシステムCからシステムAへの応答メッセージ
- ③: システムAからシステムBおよびシステムCへのメッセージ
- ④: システムBおよびシステムCからシステムAへの応答メッセージ
・最後に「トランザクションの終了」が出力される。
解答・解説
正解: ウ. コミット実行指示
分散システムにおける 2相コミットプロトコル は、複数のデータベースやシステムにまたがるトランザクションを矛盾なく完了(コミット)または取り消し(ロールバック)するための仕組みです。このプロトコルは、名前の通り大きく2つのフェーズ(第1フェーズと第2フェーズ)に分かれて処理が行われます。
図では、システムAが全体を制御する コーディネータ、システムBとシステムCが処理を実行する パーティシパント として動作しています。「トランザクション終了処理の開始」以降の流れは以下の通りです。
本問は「正常処理の流れ」を表しているため、第2フェーズにおけるコーディネータ(システムA)からシステムBおよびシステムCへのメッセージである ③ の動作は「コミット実行指示」となります。