問題 No.2314
データベースのトランザクション管理において、更新処理の途中でシステム障害が発生した場合に、ログ情報をもとにトランザクションの変更を再実行してデータベースの状態を障害発生直前の最新状態に復旧させる操作を表す用語はどれか。
【正解の解説】
ロールフォワード
料理のレシピ本(ログ)を見ながら、途中まで進めた料理の作業をもう一度やり直して完成させるようなものです。システムが途中で力尽きて止まってしまっても、書き留めておいた記録をたどることで、失われかけた最新のデータを力強く復活させることができます。
スポンサーリンク
【その他の選択肢の解説】
ロールバック
ロールフォワードが「未来へ進んで復旧する」のに対し、ロールバックは「過去へ戻して無かったことにする」という正反対の動きをします。初学者は『再実行』と『取り消し』のどちらがどっちの用語だったか混乱しやすいため、文字通り前へ進むか後ろへ戻るかで整理しましょう。
チェックポイント
ゲームの「セーブポイント」のような役割を果たします。障害が起きたときに最初からログを読み直すのは大変なので、チェックポイントを作っておくことで復旧のスタート地点をワープさせ、作業を効率化することができますが、再実行そのものを指す言葉ではありません。
デッドロック
一方が握りしめているデータをもう一方が欲しがり、お互いに「そっちを先に離してよ」と言い合って身動きが取れなくなる状態です。銀行の窓口で2人が同時に相手の書類を奪い合って固まっているような状況を指し、データの復旧操作とは全く異なるトラブルの名称です。