ログ先行書き込み(WAL)とチェックポイントとは?ろぐせんこうかきこみとちぇっくぽいんと
ログ先行書き込み(WAL)とチェックポイントとは、データページを書き換える前に、必ず更新内容をログへ書き出して確定させる方式がログ先行書き込み(WAL)。ログさえ残っていれば障害後にデータを再構成できる。チェックポイントは、その時点までのバッファ上の更新をディスクへ反映し、復旧を始めるべき位置をログに記録する処理で、両者で「どこから読み直せばよいか」が決まる。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
データページを直接書き換える途中で電源が落ちると、半分だけ書かれたページが残って整合性が壊れる。順次書きのログを先に確定させれば、ページの書き込みは後回しにでき、性能と回復可能性を両立できる。ただしログが無限に伸びると復旧に時間がかかるので、定期的に反映済みの位置を打つのがチェックポイント。支援士試験ではランサムウェア被害後の復旧や、ログ改ざん検知の前提として問われる。
具体例
PostgreSQLはWALをpg_walに書き、checkpoint_timeoutで区切って復旧の起点を打つ。コミット時にfsyncでログを同期していれば、直後の停電でも未反映のページをWALから再生できる。WALを別ボリュームへ継続的にアーカイブする設計は、ランサムウェアで本体が暗号化された後の任意時点復旧にも使われる。
試験での引っ掛け
復旧はチェックポイント以降のコミット済み更新をロールフォワード、未コミットの更新をロールバック——2方向の使い分けが問われる。間隔を短くすると復旧は速いが平常時のI/O負荷が増える。「WALがあればバックアップ不要」は誤りで、ログ自体が失われる媒体障害には別途バックアップが要る。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。