データベース

ロールフォワードとは

2021年3月7日

ロールフォワード

ロールフォワード(英:roll forward)とは、データベースに障害が発生したときの回復手段の1つです。

ロールフォワードでは「バックアップファイル」と「ジャーナルファイル」というファイルを使いデータベースの状態を元に戻します。

ロールフォワードのイメージ図

バックアップファイルとジャーナルファイル

データベースには業務で必要なデータが大量に保存されています。そのため、データベースが破損してしまうと大問題です。

データベースは障害に備えて定期的にバックアップを取ることが基本です。定期的に取得するバックアップは、データベースの内容を丸ごと別ファイルに保存します。バックアップファイルを定期的に取得することで、障害発生時にデータベースを元に戻すことができます。

ただし、バックアップファイルだけでは不十分です。なぜなら、バックアップファイルを取得してから、次のバックアップファイルを取得するまでの間に更新されたデータがあるからです。

そこで、バックアップ後の更新はジャーナルファイル(更新前の状態と更新後の状態)と呼ばれるログファイルに随時記録して、データベースの更新履歴を管理するようにしています。

バックアップとジャーナルファイル

上記図はバックアップ取得のイメージ図です。

定期的にバックアップファイルを取得し、次のバックアップファイル取得までの間の更新はジャーナルファイルとして保管されます。

ロールフォワードの流れ

ロールフォワードはデータベースに障害が発生したときの回復手段の1つです。データベースに障害が発生した場合、次の流れでデータを復旧していきます。

ロールフォワードの手順

  • データベースで障害が発生
  • バックアップファイルからデータを復旧
  • バックアップファイル以降の更新データ(ジャーナルファイル)を反映

次の例はロールフォワードを使ったデータベース復旧の流れです。

ロールフォワードのイメージ図

データベースで障害が発生した場合、定期的に取得しているバックアップファイルからデータを復旧します。ただし、それだけではバックアップ後に加えられた変更分が失われたままです。

そこで、バックアップ後の更新データ(ジャーナルファイル)を反映していき障害発生直前の状態に戻します。

このように「バックアップファイル」 + 「ジャーナルファイル」を使いデータベースの内容を障害発生直前の状態に戻すことをロールフォワードといいます。

helpful