1. 基本情報技術者講座トップページ
  2. 基本情報技術者講座 ロールバックとロールフォワード

基本情報技術者講座 ロールバックとロールフォワード

データベースに何らかの障害が発生したときの復旧方法としては、以下の二つがある。

  • ロールバック(roll back)
  • ロールフォワード(roll forward)

ロールバックおよびロールフォワードいずれの処理もジャーナルファイルを用いて復旧をおこなう。ジャーナルファイルは、データベースの更新前と更新後のデータの状態を記録したファイルである。

ジャーナルファイル

データベースの更新前と更新後のデータの状態を記録したファイル

ロールバック

スポンサードリンク

ロールバックは、トランザクション処理(transaction processing)で用いられる。トランザクション処理とは、データベースにおける更新処理の単位である。

例えば、在庫にある商品を販売した場合を考えてみよう。販売した商品のデータを売上テーブルに登録し、商品の在庫データから販売数を引いてやる処理をおこなう。このようにいくつかの処理を1セットとしておこなうのがトランザクション処理である。

トランザクション処理において、処理の途中で何らかの障害が発生したとき、データの整合性がとれなくなる。トランザクション処理の途中で障害が発生したときは、ジャーナルファイルを用いてトランザクション処理開始時点の状態に戻してデータの整合性を保つ処理がロールバックである。

基本情報講座 ロールバック

ロールフォワード

ロールフォワードは、データが記録されているハードディスクに障害が発生したときに用いられる。バックアップファイルとジャーナルファイルを用いて、ハードディスクの障害発生以前の状態に復元する。

バックアップファイルは、ハードディスクの障害やデータが壊れたときに備えてデータベースやデータのコピーを取ったものである。

ロールフォワードの流れは以下のとおりである。

  1. 障害が発生したディスクを新しいディスクに交換する
  2. ディスクにバックアップデータを書き込む
  3. ジャーナルファイルを用いてバックアップファイル以降に更新されたデータを更新する
基本情報講座 ロールフォワード

このページの先頭