IPA公式正解:イ 2相コミットを行うためには,同時に更新しようとする分散データベースの全てが更新可能かどうかを判断するためのやり取りが必要である。
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【イ】です。2相コミットプロトコルでは、主調停者が全参加ノードに対して更新可能か問い合わせ(第1相:セキュア/コミット準備フェーズ)、全ノードからコミット可能の応答を得て初めてコミットを実行します(第2相)。
【詳細解説】■ 本問の核心・解法のポイント
2相コミットプロトコル(Two-Phase Commit Protocol: 2PC)は、ネットワーク上に分散配置された複数のデータベース(ノード)を協調して更新する際、トランザクションのアトミック性(全ノードでコミットされるか、全ノードでロールバックされるかの不可分性)を保証するための制御方式です。
処理は以下の2段階(相)で進められます:
1. 第1相(準備相 / プリペアフェーズ):調停者(コーディネーター)がすべての参加者(コホート)にコミット可能かどうかを問い合わせ、各参加者は更新可能か判断して「Yes/No」を返答する。
2. 第2相(コミット相):すべての参加者が「Yes」と回答した場合にのみ、調停者は全員に「コミット」を指示する。1つでも「No」があるか、タイムアウト(応答なし)が発生した場合は全員に「アボート(ロールバック)」を指示する。
・各選択肢の徹底解説:
・ア:トランザクション処理中のデータを他から参照不可にするのは、排他制御(ロック等)やトランザクションの分離性(アイソレーション)の説明であり、2相コミットの説明ではありません。
・イ:【選択肢イ★】第1相において、分散データベースの全ノードが更新可能かどうかを確認するやり取り(セキュア/プリペア)を行うため、適切な記述です。
・ウ:参加ノードのいずれかがコミット不可の応答を返した場合や障害発生時には、全体の整合性を保つためにロールバック(アボート)が実行されます。
・エ:通信異常やノード障害が発生した場合、不整合を防ぐためトランザクションはコミットできず、ロールバック(アボート)されます。
よって正解はイです。