IT資格用語解説基本情報技術者試験・分散データベース
コミットメント制御
更新日:
用語解説
コミットメント制御は、分散トランザクションに参加する複数のデータベースが、更新を全て確定するか全て取り消すかを協調して決定し、原子性を維持する制御です。代表方式が二相コミットです。
■ 試験で押さえるポイント
第1相の準備(投票)では、調停者が全参加者へコミット可能か問い、各参加者は更新とログを永続化してYes又はNoを返します。
全員がYesなら第2相でCommitを通知し、一人でもNo又は所定の失敗ならRollbackを通知するため、一部拠点だけの確定を防ぎます。
参加者は準備後にロックや資源を保持して最終指示を待つため、調停者障害やネットワーク分断では処理がブロックされる弱点があります。
ローカルトランザクションのCOMMIT命令だけでは複数拠点の原子性を保証できず、複製の整合性制御とも目的が異なります。
■ 選択肢での判断ポイント
二相コミットの順序はPrepare→Commit/Rollbackです。全参加者が準備完了したときだけ全体をコミットし、可用性低下や待ちが生じ得る点まで押さえます。
例: 銀行Aの残高減算と銀行Bの残高加算を準備し、両DBがYesを返した場合だけ両方をコミットし、Bが失敗すればAもロールバックします。