教育・資格支援

ロールバックとは?ロールフォワードとの違いをわかりやすく解説します


結論:方向さえ押さえれば、試験で迷わない用語


ロールバックは「処理を取り消して戻す」、ロールフォワードは「障害から最新の状態まで進める」。
この方向のイメージさえ掴めれば、ITパスポート・基本情報の試験で迷うことはありません。
本記事では仕組み・具体例・練習問題まで3分で押さえられるよう整理しました。

今回は、ITパスポートと基本情報技術者試験でほぼ毎年出題される定番用語、「ロールバック」と「ロールフォワード」の違いを、仕組みからやさしく解説していきます。

「言葉が似ていて混乱する」「暗記しても1週間で忘れる」——本当にこの2つの相談は多いです。でも、仕組みと方向のイメージさえ掴めれば、もう試験で迷うことはありません。3分で完了するので、サクッといきましょう。

この記事でわかること

・ロールバックとロールフォワードの仕組みと違い
・それぞれの具体例(銀行振込、ディスク障害復旧)
・図解で方向性をひと目で理解
・試験で確実に1点取るための練習問題3問
・実務(クラウドDBなど)での使われ方


1. ロールバック(ROLLBACK)とは

仕組み

ロールバックとは、データベースのトランザクション処理中にエラーや異常が発生したとき、そのトランザクション内の変更をすべて取り消して、トランザクション開始前の状態に戻す操作です。

ポイントは「まだコミットされていない処理」を対象にすること。コミット(COMMIT)が確定する前であれば、いつでもなかったことにできます。これは、データベースのACID特性のうち原子性(Atomicity)を保証する仕組みでもあります。

具体例

銀行の振込処理をイメージしてください。「Aさんの口座から1万円引き落とす」「Bさんの口座に1万円入金する」という2つの処理がワンセットです。もし入金の途中でエラーが発生したら、引き落とし処理だけが残ってAさんの残高が減ったままになりかねません。

そこでロールバックを実行すると、引き落とし処理もキャンセルされ、振込操作が始まる前の状態に戻ります。「片方だけ成功」を防ぐ重要な機能です。

講師視点|ロールバックの誤解と混同ポイント

僕が初学者に説明する時は以下のような伝え方をしています。

ポイント

・下書きフォルダで書きかけのメールを破棄するイメージ(送信=コミット前なら何度でも書き直せる)
・レジ打ちの「取消」ボタンで会計を白紙に戻す感覚
・Excelの「元に戻す(Ctrl+Z)」で、保存前の編集をなかったことにする動き

「ロールバック=データ削除」という誤解をする方が結構多い印象なので、データを物理的に消すのではなく、コミット前の中間状態を破棄するだけ、という点をしっかりと理解しておきましょう。


2. ロールフォワード(ROLLFORWARD)とは

仕組み

ロールフォワードとは、ディスク障害などでデータベースが破損したとき、バックアップと更新ログ(トランザクションログ/REDOログ)を使って、障害直前のコミット済み状態まで前進回復する操作です。

バックアップを戻すだけだと、どうしても「バックアップを取った時点の古いデータ」までしか復旧できません。そこにバックアップ以降のログを順番に再適用することで、最新のコミット済み状態まで追いつかせる——これがロールフォワードの本質です。

具体例

毎日深夜にバックアップを取っているシステムで、夕方にディスク障害が発生したとします。バックアップを戻すだけだと深夜時点に戻ってしまい、その日1日分の更新が消えます。

そこで、深夜以降に記録されていた更新ログを順番に再生すれば、障害発生直前のコミット済み状態までデータを進めることができます。これがロールフォワードです。

講師視点|「フォワード」の方向感をつかむコツ

僕が初学者に説明する時は以下のような伝え方をしています。

ポイント

・録画番組を倍速再生して放送に追いつく感覚(古いセーブデータ→ログ早送り→最新状態)
・ゲームのセーブデータをロードしてから、操作ログを早送りで直前まで進める動き
・議事録を読み返して途中参加者を最新の議論に追いつかせるイメージ

「フォワード」という語感から、未来に進む操作と誤解する初学者がいますが、正しくは「過去のバックアップから障害直前まで追いつく」動きです。

「未来予測ではなく、過去から最新へ追いつく」という方向感を持つと理解がスムーズになります。


3. ロールバックとロールフォワードの違い【図解+比較表】

2つの違いを、時間軸の図でまず確認しましょう。


表でも整理しておきましょう。

項目ロールバックロールフォワード
目的トランザクションの取消コミット済みデータの復旧
操作の方向時間を遡る(戻す)時間を進める(前進回復)
使う場面エラー発生時、デッドロック解消時ディスク障害、データ破損からの復旧時
必要なものUNDOログ(取消ログ)バックアップ+REDOログ(更新ログ)
ACID特性原子性(Atomicity)を保証永続性(Durability)を保証

ポイント

・同じ「復旧」でも、未コミット分はロールバック、コミット済み分はロールフォワード
・ロールバック=戻す、ロールフォワード=進める、と方向で覚える
・必要なログが違う(UNDOログ vs REDOログ)

同じ"復旧"でも、未コミット分はロールバック、コミット済み分はロールフォワード」という分担を覚えておくと、応用問題でもブレません。


4. 試験対策|練習問題で確認しよう

以下は、IPA過去問の傾向を踏まえて作成したオリジナルの練習問題です(IPA公式の過去問そのものではありません)。本番形式に慣れるための練習として活用してください。実際の過去問はIPA公式サイトで公開されています。

練習問題①(ITパスポートレベル)

(問題) データベースのトランザクション処理中にエラーが発生したため、それまでの変更をすべて無効にして、トランザクション開始前の状態に戻す操作はどれか。

ア.コミット  イ.チェックポイント  ウ.ロールバック  エ.ロールフォワード

👉 正解:ウ(ロールバック)

解説:「トランザクション開始前の状態に戻す」がキーワード。コミット(ア)は確定、チェックポイント(イ)は復旧の起点を作る操作、ロールフォワード(エ)は前進回復なので、戻す方向のロールバックが正解です。

練習問題②(基本情報レベル)

(問題) ディスク障害によってデータベースが破損した。あらかじめ取得したバックアップと、それ以降のトランザクションログを利用して、障害直前のコミット済みの状態まで回復させる方法はどれか。

ア.リストア  イ.ロールバック  ウ.チェックポイント  エ.ロールフォワード

👉 正解:エ(ロールフォワード)

解説:「バックアップ+ログで最新状態まで進める」のがロールフォワードの定義そのもの。リストア(ア)はバックアップの戻しのみで、ログの再適用までは行わない点に注意。

練習問題③(混同しやすいポイント)

(問題) 次のうち、ロールフォワードの説明として最も適切なものはどれか。

ア.未コミットのトランザクションを取り消し、開始前の状態に戻す
イ.バックアップファイルを単純に書き戻して復旧する
ウ.バックアップに更新ログを順次適用し、障害直前の状態まで前進回復させる
エ.現在の状態を保存しておき、復旧時の起点とする

👉 正解:ウ

解説:アはロールバック、イは単なるリストア、エはチェックポイントの説明です。「ログを順次適用」「前進回復」という表現を見たら、ロールフォワードと判断できればOKです。


5. 実務ではどう使われている?

試験対策だけでなく、現場でも頻繁に登場する用語です。

ロールバックは、業務アプリケーションのエラーハンドリングや、複数トランザクションが競合した際のデッドロック解消で日常的に使われます。SQLでは ROLLBACK; 一行で実行できます。

ロールフォワードは、DBA(データベース管理者)が定期バックアップ+アーカイブログ運用と組み合わせて使うのが定番です。AWS RDSやAzure SQL Databaseのポイントインタイムリカバリ(PITR)も、内部的にはロールフォワードの仕組みで動いています。クラウド時代になっても、考え方は変わっていません。


6. まとめ|一言で覚えるポイント

ポイント

・処理を取り消すのがロールバック(戻す)
・障害から最新まで復旧するのがロールフォワード(進める)
・未コミット分はロールバック、コミット済み分はロールフォワードで分担

ITパスポートや基本情報の試験では、この方向性さえ押さえておけば確実に1点取れる「サービス問題」です。応用情報以上では「未コミット分はロールバック、コミット済み分はロールフォワード」という分担まで問われるので、余力があればここまで覚えておきましょう。

それではまた!

一人で悩まず、相談しながら合格を目指したい方へ

「独学だと続かない…」「分からない用語を気軽に質問できる人が欲しい…」
そんな方向けに、エンジニア歴20年・現役講師の僕が運営する無料LINEコミュニティを用意しています。資格学習のコツ・勉強法・キャリア相談まで、気軽に質問できる場所です。

▶ ITキャリアラボに参加する(無料)

ITキャリアラボ

【無料】ITの悩みを気軽に相談できるコミュニティ・ITキャリアラボ

IT業界を目指すあなたへ|「ITキャリアラボ」無料コミュニティのご案内 「IT業界に転職したいけど、何から始めればいいかわからない…」「資格の勉強が続かない…」「相談できる人がいない…」 そんな不安、 ...

続きを見る

  • この記事を書いた人
  • 最新記事

ユウイチ

20年間ソフトウェアエンジニアとして働いた後、フリーランスを経て現在は1人社長として活動。 プログラミング講師やIT教育を中心に活動しながら、趣味でゲーム開発やシナリオ作成にも挑戦中。どちらも「創ることを通じて人を笑顔にしたい」という想いから始めた、大切なライフワーク。 「創造と教育で、人生に迷う人の“自由な一歩”を支援」を理念に発信中。

-教育・資格支援