3相コミットとは?さんそうコミット
3相コミットとは、分散トランザクションのコミット手順で、2相コミットの準備相とコミット相の間に「全参加者が準備完了である」ことを周知する相を挟んだ方式。各参加者が結論を自力で導ける状態を先に作るため、調停者が落ちても指示を待ち続けずに済む。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
2相コミットでは、参加者が準備完了を返した後に調停者が停止すると、コミットか中止かを誰も知らないままロックを抱え続ける(ブロッキング)。分散環境では調停者ひとつの障害が全サイトを止めてしまうため、「結論を出すのに必要な情報を事前に配っておく」という考えで相を1つ増やしたのがこの方式である。
具体例
在庫サイトと会計サイトにまたがる受注確定で、2相コミットなら調停者の停止中は両サイトの行が押さえられたままになる。3相コミットでは全サイトが準備完了の周知を受け取っているため、時間切れの時点でコミット側へ自律的に進める。X/OpenのXA仕様が定めるのは2相コミットで、製品実装の主流も依然そちらである。
試験での引っ掛け
ブロッキングを避けられるのはネットワーク分断が起きない前提での話で、分断が起きれば別々の結論に至る余地が残る。相が増えるぶん往復も障害点も増えるため、実運用では2相コミットが選ばれる。「3相のほうが新しく優れている」と単純化しない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。