「ロールバック」と「ロールフォワード」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| データベース | データがそれっぽい感じに入っている箱。データのまとまり |
| トランザクション | 「ここから ここまでワンセット」な処理単位 |
| コミット | トランザクション処理の結果を確定させる処理 |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| ロールバック | データベースのトランザクション処理において、あれやこれやと処理した結果を取り消して、やらなかったことにすること |
| ロールフォワード | データベースで障害が起きたときの対処法のひとつで、どこかの時点のバックアップを適用して障害が起きる前の状態に一旦 戻し、それ以降の処理を再現することで障害が起きていないデータベースを復活させること |
似ているところ
どちらも異常が発生したときにやる作業です。
データベースの話で出てきます。

違うところ
いろいろありますが、一番大きな違いは「取り消す」か「やり直す」かの違いです。
ロールバックは「取り消す」処理です。
やりかけの処理を中止して、やり始める前の状態に戻します。
最初の時点に時間を巻き戻すイメージです。

それに対して、ロールフォワードは「やり直す」処理です。
まずはバックアップを適用し、その後で、適用したバックアップ以降にやった処理を再現します。
最初の時点に時間を巻き戻した後、もう一度時間を進めるイメージです。

あとは登場シーンも違いますかね。
ロールバックは、主にトランザクション処理の途中で失敗したときにやります。
やりかけのトランザクション処理を取り消すのがロールバックです。
ロールフォワードは、例えばデータベースが物理的に壊れたりした場合にやります。
バックアップを適用した後で、バックアップ以降にやっていたことを再現するのがロールフォワードです。






