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

コミットメント制御

Commitment Control

こみっとめんとせいぎょ

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

共有:

Related

他の資格での定義

FEコミットメント制御

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

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

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

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

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

A-1コミットメント制御

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

Related

関連キーワードの用語

APTCCパターン

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

AP排他制御

複数のプロセスやトランザクションが共有資源に同時アクセスする際に、データの整合性を保つための制御機構。セマフォ、ミューテックスなどのOS同期機構や、ロック方式(共有ロック・専有ロック)、MVCC等のデータベース制御手法がある。デッドロックの防止も重要な課題。

APトランザクション

データベースに対する一連の処理をまとめた論理的な作業単位。「全て実行」か「全て取消」のいずれかで完了し、途中で中断された状態を残さない。ACID特性(原子性、一貫性、独立性、永続性)を満たす必要がある。

APACID特性

トランザクション処理に求められる4つの特性。Atomicity(原子性:全て実行か全て取消)、Consistency(一貫性:整合性の維持)、Isolation(独立性:他のトランザクションの影響を受けない)、Durability(永続性:完了した結果は失われない)。

APデッドロック

2つ以上のトランザクションが互いに相手のロック解放を待ち続け、いずれも先に進めなくなる状態。検出時にはいずれかのトランザクションをロールバックして解消する。予防策として資源の獲得順序を統一する方法がある。

AP隔離性水準(トランザクション分離レベル)

同時に実行されるトランザクションどうしを、どこまで隔離するかの段階。SQLの標準はREAD UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLEの4つを定め、READ COMMITTEDではダーティリードが、REPEATABLE READではさらにノンリピータブルリードが、SERIALIZABLEではさらにファントムリードが起きなくなる。水準を上げるほど整合性は高まるが、待ちが増えて同時実行性は下がる。