ロールバック 【rollback】 後退復帰 / バックワードリカバリ / 後進復帰

概要

ロールバック(rollback)とは、システム障害やデータの喪失、破損などが起きた際に、以前に正常に稼働していた特定の時点の状態に戻して復旧を試みること。事前にデータの写しを保管しておく必要がある。

解説 ある時点の正常な状態のデータやプログラム、設定などを複製してまとめて保管しておき、障害などが発生した時にこれをシステムに書き戻してその時点の状態に戻す処理をロールバックという。

トランザクション処理のロールバック

特にデータベースシステムのトランザクション処理でよく用いられる概念である。トランザクション開始前の状態を保存しておき、コミットする前に途中で中断された場合に完了済みの処理をすべてキャンセルし、開始前のデータを書き戻して復旧する。トランザクションは途中で終了すると結果に矛盾が生じることがあるため、このような制御が行われる。

一方、障害発生時にすでにコミットされたトランザクションの場合には、ある時点(チェックポイント)で複製したデータを書き戻し、これにトランザクションログに記録された処理を適用していき、コミット時の状態に戻す。この復帰方式を「ロールフォワード」(roll forward)という。

(2024.2.1更新)

他の用語辞典による「ロールバック」の解説 (外部サイト)

資格試験などの「ロールバック」の出題履歴

▼ ITパスポート試験
平30秋 問63】 トランザクション処理におけるロールバックの説明として、適切なものはどれか。

▼ 基本情報技術者試験
令3修7 問27】 データベースのトランザクションに関する記述のうち,適切なものはどれか。
平29秋 問30】 トランザクション処理プログラムが,データベース更新の途中で異常終了した場合,ロールバック処理によってデータベースを復元する。
平25修1 問58】 データベースのロールバック処理の説明はどれか。
平23修6 問59】 データベースのロールバック処理の説明はどれか。
平22修12 問58】 データベースの障害回復に関する記述のうち,適切なものはどれか。
平22秋 問56】 データベースのロールバック処理の説明はどれか。
平21修12 問33】 トランザクション処理プログラムが,データベース更新の途中で異常終了した場合,ロールバック処理によってデータベースを復元する。
平21修7 問57】 データベースのロールバック処理を説明したものはどれか。