トランザクションとログとは?とらんざくしょんとろぐ
トランザクションとログとは、分割できない処理のまとまりと、その更新の履歴を残したファイル。まとまりはACID特性(原子性・一貫性・独立性・耐久性)を満たし、コミットはデータファイルではなくログへの書き出しをもって確定する。障害時は更新前ログで取り消し、更新後ログで再適用して整合した状態へ戻す。
最終更新:2026-10-06
この語が出る過去問を解く →背景
更新のたびにデータファイルへ同期書き込みをすると性能が出ず、かといって書かなければ電源断で消える。この矛盾を、順番に追記するだけで済むログを先に確定させることで解いた。どこまで確定したかが記録として残るため、復旧の手順を人の判断に頼らず機械的に決められる点が本質になる。
具体例
PostgreSQLのWAL、Oracle DatabaseのREDOログとUNDO表領域が、それぞれ更新後・更新前の記録にあたる。運用ではログとデータファイルを別の媒体へ置き、ログだけを短い間隔で退避する。片方の媒体が壊れても、もう片方から壊れた側を作り直せる構成が復旧の前提になる。
試験での引っ掛け
ロールバックは更新前ログで手前へ戻す向き、ロールフォワードは更新後ログで先へ進める向きで、名称と向きが入れ替えられる。フルバックアップの間隔を延ばすと適用するログが増え、復旧時間が伸びる。運用ログや監査ログとは目的が別で、回復に使えるのはDBMSが書く更新のログだけである。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成30年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問21(IPA)解説で登場
DBMSがトランザクションのコミット処理を完了とするタイミングはどれか。
正解:ログファイルへのコミット情報書込み完了時点
要点:コミット完了はログファイルへの書込みが終わった時点
DBMSは障害回復のためにWAL(ログ先行書込み)方式を採り、更新内容やコミット情報を先にログへ記録してからデータベース本体へ反映する。コミットが完了したと見なせるのは、コミットの記録が揮発するメモリ上のログバッファではなく、不揮発の媒体上のログファイルへ確実に書き終えた時点である。これにより、直後に障害が起きてもログからロールフォワードして結果を保証できる。
出典:令和3年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問24(IPA)
ディスク障害時に,フルバックアップを取得してあるテープからディスクにデータを復元した後,フルバックアップ取得時以降の更新後コピーをログから反映させてデータベース…
正解:ロールフォワード
要点:ロールフォワードは更新後ログを反映して復旧する
ロールフォワードは、バックアップから復元した時点のデータベースに対し、以降のログに残る更新後の内容を順に反映して障害直前の状態まで進める回復方法である。媒体障害からの復旧に用いる。反対に更新前の内容を使って取消す処理がロールバックである。
出典・参考
公式シラバスの3 技術要素 > 4. トランザクション処理 > (2) 障害回復に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。