トランザクションとログとは?とらんざくしょんとろぐ
トランザクションはACID特性(原子性・一貫性・独立性・耐久性)を満たす処理単位で、耐久性を支えるのがログ先行書出し(WAL)である。コミットが確定するのはデータページがディスクに書かれた時点ではなく、更新後ログがログファイルへ書き終わった時点であり、この一点がロールフォワードを成立させる。障害回復ではチェックポイント以降のログを走査し、コミット済みで未反映のトランザクションを更新後ログでREDO、未コミットのものを更新前ログでUNDOする。独立性は分離レベル(READ UNCOMMITTED〜SERIALIZABLE)で段階的に緩められ、緩めるほどダーティリード・ノンリピータブルリード・ファントムリードの順に異常が現れる代わりにスループットが上がる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
データベース本体への更新はディスク上の飛び飛びの位置への書込みになるため遅く、コミットのたびにデータページを確実に書いていては性能が出ない。かといって書かずに済ませれば、電源断で確定済みの取引が消える。この対立を、順次追記で速く書けるログだけを確実にディスクへ落とし、本体への反映は後回しにする、という形で解いたのがログ先行書出しである。コミットの確定点がログの書出し完了である理由も、障害回復がREDOとUNDOの二段構えになる理由も、すべてここから導かれる。分離レベルが段階的に用意されているのも同じ発想で、整合性と並行実行性能のどこで折り合うかを利用側に選ばせている。
具体例
Amazon RDSは自動バックアップと取得済みのトランザクションログから、指定した時刻の状態へ復元するポイントインタイムリカバリを提供することを公表している。実務でも同じ構造で、深夜バッチ中のディスク障害なら、前夜のフルバックアップを別ディスクから復元し、更新後ログでロールフォワードして障害直前まで進め、コミット前だった振替2件は更新前ログでロールバックする。この復旧が成立する前提は、データファイルとログファイルを別の物理ディスクに置いてあることで、同居させていると片方の障害で両方失う。
試験での引っ掛け
記述式で問われる境界は3つ。第一に、コミットの確定点は「ログの書出し完了」であって「データベース本体への反映完了」ではない(WALの理由を一行で言えるようにする)。第二に、REDOの対象はコミット済み・UNDOの対象は未コミットで、更新後ログと更新前ログの使い分けが逆になった選択肢が定番。第三に、チェックポイントを短くすると回復時間は縮むが通常時の書出し負荷は増える、というトレードオフ。また、独立性を保つロック方式では2相ロックが直列化可能性を保証する一方でデッドロックが起こりうるので、待ちグラフで検出してどちらかをロールバックする、という対処までが一続きの論点になる。2相コミットは分散トランザクションの合意手順であり、2相ロックとは別物である点も混同されやすい。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 秋期 応用情報技術者試験 午前 問30(IPA)
DBMSをシステム障害発生後に再立上げするとき、ロールフォワードすべきトランザクションとロールバックすべきトランザクションの組合せとして、適切なものはどれか。こ…
正解:ロールフォワード: T2, T5/ロールバック: T6
要点:コミット済みは再現、未完了の更新だけを取り消す
再立上げ時は、チェックポイント以降にコミットが完了したトランザクションを更新後ログでロールフォワードし、障害発生時点で未完了だったものをロールバックします。コミット済みで更新を伴うのはチェックポイント後に完了したT2とT5です。未完了のうちT3は参照だけで更新がないため打消しは不要で、更新を伴うT6だけがロールバックの対象になります。チェックポイント前に完了したT1は既にディスクへ反映済みなので、対象外です。
出典:平成28年度 春期 応用情報技術者試験 午前 問30(IPA)
媒体障害の回復において,最新のデータベースのバックアップをリストアした後に,トランザクションログを用いて行う操作はどれか。
正解:バックアップ取得後にコミットした全てのトランザクションをロールフォワードする。
要点:媒体障害の回復はリストア後にロールフォワードする
媒体障害の回復ではバックアップをリストアした後、ログの更新後情報を使ってバックアップ以降にコミット済みのトランザクションを再現する。これがロールフォワードで、障害直前の状態まで復元できる。未コミットのものは再現しない。
出典:令和元年度 秋期 応用情報技術者試験 午前 問29(IPA)
データベースに媒体障害が発生したときのデータベースの回復法はどれか。
正解:バックアップコピーでデータベースを復元し、バックアップ取得以降にコミットした全てのトランザクションをロールフォワードする。
要点:媒体障害はバックアップ復元+ロールフォワードで回復する
媒体障害はディスクそのものが壊れ、データベースの内容が失われる障害です。この場合はまずバックアップから復元し、その後ログを使ってバックアップ取得以降にコミット済みのトランザクションを再適用(ロールフォワード)します。ロールバック中心の対処は、トランザクション障害やシステム障害の回復方法です。
出典:令和元年度 秋期 応用情報技術者試験 午前 問30(IPA)解説で登場
分散トランザクション管理において、複数サイトのデータベースを更新する場合に用いられる2相コミットプロトコルに関する記述のうち、適切なものはどれか。
正解:主サイトが全ての従サイトからコミット準備完了メッセージを受け取った場合、全ての従サイトに対してコミット要求を発行する。
要点:2相コミットは全サイトの準備完了が揃って初めてコミットする
2相コミットでは、第1相で主サイトが各従サイトにコミット準備を要求し、全サイトから準備完了の応答が揃ってはじめて、第2相で全サイトにコミットを指示します。1つでも準備できないサイトがあれば、全サイトにロールバックを指示します。全員一致でなければコミットしないのが原則です。
出典:令和2年度 10月試験 応用情報技術者試験 午前 問30(IPA)解説で登場
トランザクションのACID特性のうち、耐久性(durability)に関する記述として、適切なものはどれか。
正解:正常に終了したトランザクションの更新結果は、障害が発生してもデータベースから消失しないこと
要点:耐久性はコミット済みの更新が障害後も残ること
耐久性(durability)は、コミットが完了したトランザクションの結果が、その後に障害が起きても失われないという性質である。ログの先書きやコミット時の確実な書き込みによって、再起動後もロールフォワードで結果を復元できることが保証される。
出典・参考
公式シラバスの3 技術要素 > 4. トランザクション処理 > (2) 障害回復に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。