ログ先行書出しとは?
ログ先行書出しとは、データベースの実データをディスクへ書く前に、その更新を記録したログを必ず先に不揮発媒体へ書き出す規約。
データベーススペシャリスト試験の過去問では2回出題されています(2016年度〜2019年度)。
ログせんこうかきだし
ログ先行書出しの意味
データベースの実データをディスクへ書く前に、その更新を記録したログを必ず先に不揮発媒体へ書き出す規約。
ログ先行書出しの具体例
コミット時点でログさえ書けていれば、実データがまだバッファ上でも、障害後にログから更新を再現できる。
ログ先行書出しは試験でどう引っ掛けられる?
この規約により「コミット済みの更新は必ず回復できる」「未コミットの更新は必ず取り消せる」の両方が成り立つ。ログを後に書くと、実データだけ書けた中途半端な状態を復元できなくなる。
ログ先行書出しと関連する用語
ログ先行書出しが出た過去問
WAL(Write Ahead Log)プロトコルの目的に関する説明のうち、適切なものはどれか。
正解:何らかの理由でDBMSが停止しても、コミット済みであるがデータベースに書き込まれていない更新データの回復を可能にする。
要点:更新前にログを書くことでコミット済み更新を回復可能にする
WALは、データベースの更新をディスクへ反映するより先に、その更新のログを確実にログファイルへ書き出す規約である。これによりDBMSが異常終了しても、コミット済みでまだ反映されていない更新をログからロールフォワードして回復できる。
出典:平成28年度 春期 データベーススペシャリスト試験 am2 問16(IPA)次のチェックポイントの仕様に従ってトランザクション処理を行うDBMSにおいて、チェックポイントの発生頻度は1時間当たり何回か。ここで、トランザクションは毎秒20…
正解:3
要点:バッファ満杯40分よりログ切替20分が先に来て20分周期になる
バッファは480Mバイト÷10kバイト=48,000トランザクション分で、毎秒20件なら2,400秒(40分)で満杯になる。ログファイルは240Mバイト分=24,000トランザクション分なので1,200秒(20分)ごとに切り替わる。チェックポイントのたびにバッファは初期化されるため、常に20分ごとのログ切替えが先に条件を満たし、1時間当たり3回となる。
出典:令和1年度 春期 データベーススペシャリスト試験 am2 問2(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。