トランザクションのコミットとロールバック
コミット
トランザクションが成功すること、つまり整合性を保って資源を更新することを、トランザクションのコミットという。トランザクションをコミットするかどうか最終的に決定するトランザクション処理の区切りを、同期点という。資源は、同期点で更新する。
ロールバック
トランザクションが失敗して、トランザクションで更新するはずの資源の状態を、トランザクション開始直前の状態に戻すことを、トランザクションのロールバックという。トランザクションをコミットできなかった場合や、処理の不整合を検出した場合には,これまでの処理をロールバックで取り消して、データの整合性を保つ。
トランザクションがロールバックした要因はログに取得できる。ロールバック要因をログに取得するかどうか,トランザクション関連定義のtrn_rollback_information_putオペランドで指定する。
グローバルトランザクション
「複数のリソース(コンピュータとかデータベースとか)が関わっているトランザクション」が「グローバルトランザクション」である。「分散トランザクション」とも言う。「ワンセットなトランザクションが複数のデータベース(とか)に分散される」のがグローバルトランザクションである。
グローバルトランザクションは複数プロセスで構成される。グローバルトランザクションを構成する各プロセスを、トランザクションブランチといいます。特に、トランザクションの開始を宣言したプロセスをルートトランザクションブランチという。