問題 No.3036
データベースのトランザクション管理において、システム障害からの復旧時にログファイルを参照し、コミット済みのトランザクションによる変更内容を再度データベースに反映させて障害直前の状態を再現する処理を何と呼ぶか。
【正解の解説】
ロールフォワード
これはビデオゲームの「セーブデータの巻き戻し」ではなく、ゲームが強制終了した後に「そこまでの進捗データを再読み込みして復元する機能」のようなものです。障害で消えてしまった変更を、記録(ログ)をもう一度なぞってやり直すことで、データベースを元気だった直前の状態まで引っ張り上げるイメージです。
スポンサーリンク
【その他の選択肢の解説】
ロールバック
ロールフォワードが「進める」処理であるのに対し、ロールバックは「巻き戻す」処理という決定的な違いがあります。試験では「過去に戻す」と「やり直して進める」という言葉のニュアンスを入れ替えて出題されることが多いので、コミット済みなら前進、未完了なら後退と整理して覚えましょう。
チェックポイント
ログファイル全体を最初から読み込むと時間がかかるため、定期的に「ここまで安全に保存したよ」というチェックポイント(中間セーブ)を作っておきます。障害復旧時に直近のチェックポイント以降のログだけを見ればよくなるための仕組みであり、変更を再反映させる処理そのものではありません。
デッドロック
電車が互いに道をゆずり合って一歩も動けなくなる「踏切のデッドロック(行き詰まり)」と同じ状態です。データベースの復旧処理やログの役割とは全く関係がなく、システムがフリーズしてしまう原因となる別のトラブル用語としてよく一緒に登場するため注意が必要です。