トランザクションログ【transaction log】
トランザクションログとは?
データベース管理システム(DBMS)が、データベースに加えられた変更を順番に記録したもの。ストレージ上のファイルとして保存されることが多く、「ログファイル」や「ジャーナル」とも呼ばれる。トランザクション処理の整合性を保つために用いられる。

互いに密接に関連する複数の操作をまとめて一件の処理とみなしたものを「トランザクション」(transaction)という。例えば、銀行振込では、送金元口座の残高減算と送金先口座の残高加算を一連の処理として完結させる必要がある。トランザクションログは、こうした処理の内容を変更前後のデータや操作種別、タイムスタンプなどと共に時系列に記録する。
システム障害などで処理が中断した場合、DBMSはログを参照して未コミットのトランザクションを取り消し、開始前の状態に戻す。これを「ロールバック」(rollback)という。逆に、コミット済みでデータファイルへの反映が完了していない変更は再適用される。これを「ロールフォワード」(roll forward)という。この二つの操作により、障害後もデータの整合性が維持される。
ログへの書き込みは、データ本体への書き込みよりも先に行われる。これを「WAL」(Write-Ahead Logging)という。実際のデータファイルへの書き込みには時間がかかるため、まず変更履歴をログに追記して処理の確定を保証し、データファイルへの反映は後回しにする。これにより、安全性を確保しながら処理性能を維持できる。
トランザクションログは、バックアップと組み合わせて「ポイントインタイムリカバリ」(PITR)に用いられたり、別サーバへ転送して適用することで「レプリケーション」(複製)にも利用される。蓄積されたログファイルはディスク容量を圧迫するため、定期的なバックアップと連動して最も古いログを切り捨てる「ログローテーション」を行い、一定の範囲の容量に抑える運用が行われる。