コミット・ロールバック・ログ先書きとは?こみっと・ろーるばっく
コミット・ロールバック・ログ先書きとは、トランザクションの結果を確定させる操作がコミット、開始前の状態へ戻す操作がロールバック。確定が成立するのはデータベース本体への反映時点ではなくログへの書込み完了時点で、この順序を強制する規律をログ先書き(WAL)と呼ぶ。
最終更新:2026-10-06
この語が出る過去問を解く →背景
更新のたびにデータファイルへ書くと、ランダム書込みが多発して性能が出ないうえ、書込み途中で落ちたときに整合を戻す手掛かりも残らない。順次書きのログへ確定事実を先に刻んでおけば本体の反映は遅らせてよく、障害時はログから再構成できる。耐久性と性能を両立させる折衷がここにある。
具体例
再起動時は直近のチェックポイント以降のログを走査し、コミット記録のあるものはロールフォワードで再適用、記録の無いものはロールバックで取り消す。この復旧時間がそのままRTOに効くため、チェックポイント間隔は非機能要件から逆算して決める。
試験での引っ掛け
「データベースへ書き終わった時点で確定」は誤りで、確定点はログの書込み完了時。復旧時の向きも取り違えやすく、コミット済みは再適用(ロールフォワード)、未コミットは取消し(ロールバック)である。
関連用語
出た過去問
出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問24(IPA)解説で登場
DBMSがトランザクションのコミット処理を完了するタイミングはどれか。
正解:ログファイルへのコミット情報書込み完了時点
要点:コミット確定はログファイルへの書込み完了時点
DBMSはWAL(ログ先書き)方式に基づき、コミット情報を含むログを不揮発の記憶装置であるログファイルへ書き出した時点でコミット完了とする。ログさえ確実に残っていれば、直後に障害が起きてもロールフォワードによって更新内容を再現できるためである。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。