[2相ロック方式に従うトランザクション]

トランザクションの競合直列可能性が保証される。

デッドロックが発生する可能性のある排他制御の方式


[DBMSが取得するログ]

ロールフォワードに備えて,データベースの更新されたページに対する更新後情報を取得する。


[DBMSがトランザクションのコミット処理完了とみなすタイミング]

ログファイルへのコミット情報書込み完了時点


[WAL(Write Ahead Log)プロトコル]

何らかの理由でDBMSが停止しても,コミット済みであるがデータベースに書き込まれていない更新データの回復を可能にする。


[ダーティリード(dirty read)]

トランザクションT1が行を更新し,トランザクションT2がその行を検索する。その後T1がロールバックされると,T2はその行に存在しない値を読んだことになる。

まだコミットしていないトランザクションAの更新後データをトランザクションBが参照した。その後,更新後データはロールバックされた。


[多版同時実行制御(MVCC, (MultiVersion Concurrency Control))]

データ書込みに対して新しい版を生成し,同時にデータ読取りが実行されるときの排他制御による待ちを回避する。

同時実行される二つのトランザクションのうち,先発のトランザクションがデータを更新し,コミットする前に,後発のトランザクションが同じデータを参照すると,更新前の値を返す。


[チェックポイントレコードをログに書き出す他に行っている処理]

バッファに残っている更新後のデータをデータベースに書き出す。


[データベースの障害回復処理]

システムが媒体障害以外の原因によって停止した場合,チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。


[トランザクション管理の直列化可能スケジュール]

トランザクションを順番に実行した場合と同じ結果をもつように,並行実行するスケジュール


[トランザクションのコミット制御]

2相コミットを用いても,サブトランザクションが実行されるサイトに主サイトの指示が届かず,サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある。