- ロールバックの例:Aさんの口座から1万円を引き落とした直後に停電が起きた場合、振込先のBさんの口座に1万円が入金される前の状態です。システム復旧時に「途中で失敗した処理」と判断され、Aさんの口座に1万円を戻して取引前の状態へ回復させます。
- ロールフォワードの例:データベースの入ったハードディスク自体が物理的に壊れた場合、前日のバックアップデータを復元し、その後に記録されたジャーナル(ログ)を適用して、故障する直前の最新状態までデータを復旧させます。
もう少し詳しく
障害回復は、データベースのデータがどのような状況にあっても保護されるという、ACID特性における「原子性(Atomicity)」と「耐久性(Durability)」を保証するための中心的技術です。障害回復を正しく行うためには、データベースへの変更内容を記録した「ログ(またはジャーナル)」の運用ルールが極めて重要です。