IT用語帳
A-1データベース · トランザクション処理

コミットメント制御

Commitment Control

こみっとめんとせいぎょ

トランザクションのすべての処理が正常に終わったときにだけ更新を確定(コミット)し、途中で異常が起きたときは更新をすべて取り消す(ロールバック)ことで、データベースの更新を全部行うか全く行わないかのどちらかにする制御。トランザクションの原子性を保証し、分散データベースでは2相コミットメントが使われる。

共有:

Related

他の資格での定義

FEコミットメント制御

トランザクションの処理がすべて正常に終わったときだけ更新を確定(コミット)し、途中で異常が起きたときは更新をすべて取り消す(ロールバック)ことで、データベースの整合性を保つ制御。複数のサイトにまたがる分散データベースでは、2相コミットメントで全サイトの確定と取消しをそろえる。

APコミットメント制御

トランザクションによる更新を、すべて確定する(コミット)か、すべて取り消す(ロールバック)かのどちらかにして、トランザクションの原子性を保証する制御。途中で障害が起きても、一部だけ更新された状態を残さない。複数のサイトにまたがる分散データベースでは、2相コミットメントなどのプロトコルで全サイトの確定と取消しをそろえる。

PD-Dコミットメント制御

トランザクションによる更新を、すべて確定する(コミット)か、すべて取り消す(ロールバック)かのどちらかにして、原子性を保証する制御。障害が起きても途中までの更新が残らないようにする。複数のサイトにまたがる分散データベースでは、2相コミットメントなどのプロトコルで全サイトの確定・取消しをそろえる。

PD-Sコミットメント制御

トランザクションによる更新を、すべて確定する(コミット)か、すべて取り消す(ロールバック)かのどちらかにして、原子性を保証する制御。障害が起きても途中までの更新を残さない。複数のサイトにまたがる分散トランザクションでは2相コミットメントで全参加者の確定と取消しをそろえ、ロックを長く保てない複数サービスの処理では補償トランザクションで整合性を取る。

Related

関連キーワードの用語

A-1バックワードリカバリ(ロールバック)

データベースの障害回復の方法で、ログ(ジャーナル)に記録された更新前の内容を使って、トランザクションによる更新を取り消し、そのトランザクションの開始前の状態に戻すこと。トランザクションの異常終了時や、システム障害時に未完了だったトランザクションの取消しに使われる。

PD-D分散トランザクション

複数のサイト(データベースやリソース)にまたがって更新を行うトランザクション。すべてのサイトで更新を確定するか、すべて取り消すかをそろえる必要があり、2相コミットメントなどのプロトコルで原子性を保証する。サイトの数が増えるほど待ちや障害の影響が大きくなるので、マイクロサービスでは補償トランザクションを使うSagaパターンで結果整合性をとることもある。

A-1デッドロック

2つ以上のトランザクションやプロセスが、互いに相手が確保している資源の解放を待ち続け、どれも処理を先に進められなくなる状態。DBMSは待ちグラフなどで検出し、いずれかのトランザクションをロールバックして解消する。資源を確保する順序を統一することで発生を防げる。

A-12相コミットメント

分散データベースで、複数のサイトにまたがるトランザクションの原子性を保証するための制御方式。第1相で調停役が各サイトにコミットの準備ができたかを問い合わせ、全サイトが可と答えた場合だけ第2相でコミットを指示し、1つでも否なら全サイトでロールバックさせる。

A-1ACID特性

トランザクション処理に求められる4つの性質。すべて実行されるか全く実行されないかのどちらかである原子性(Atomicity)、整合性が保たれる一貫性(Consistency)、同時に実行しても互いに影響しない独立性(Isolation)、確定した結果が失われない耐久性(Durability)からなる。

APTCCパターン

複数のサービスにまたがる処理の整合性を保つため、各サービスの処理をTry(資源の仮押さえと業務上の検査)、Confirm(仮押さえした内容の確定)、Cancel(仮押さえの取消し)の3つの操作に分けて実装する方式。調整役が全サービスにTryを依頼し、すべて成功したらConfirmを、1つでも失敗したらCancelを指示する。2相コミットメントに似た手順を業務処理として実現するもので、データベースのロックを長く持ち続けずに済む。