コミットとロールバックとは?
コミットとロールバックとは、トランザクションの処理を確定させる操作をコミット、処理を取り消して元の状態に戻す操作をロールバックという。ログ(更新履歴)を利用して、障害発生時にも整合性のある状態へ復旧できるようにする。
基本情報技術者試験の過去問では11回出題されています(2016年度〜2024年度)。
こみっととろーるばっく
コミットとロールバックの意味
トランザクションの処理を確定させる操作をコミット、処理を取り消して元の状態に戻す操作をロールバックという。ログ(更新履歴)を利用して、障害発生時にも整合性のある状態へ復旧できるようにする。
コミットとロールバックの具体例
障害発生時、更新前ログ(更新前の状態を記録したもの)を使って未完了のトランザクションを取り消す処理をロールバック(後退復帰)、更新後ログを使ってコミット済みの内容を復元する処理をロールフォワード(前進復帰)という。
コミットとロールバックは試験でどう引っ掛けられる?
バックアップからの復旧手順で、ロールバック(後退復帰)とロールフォワード(前進復帰)のどちらを使うべき状況かを取り違えやすい。
コミットとロールバックと関連する用語
コミットとロールバックが出た過去問
ディスク障害時に、フルバックアップを取得してあるテープからディスクにデータを復元した後、フルバックアップ取得時以降の更新後コピーをログから反映させてデータベース…
正解:ロールフォワード
要点:ロールフォワードは更新後ログで先へ進めて回復する
ロールフォワードは、バックアップから復元した時点以降の更新後ログを順に適用し、障害直前の状態まで進める回復方法である。媒体障害からの回復で用いられる。これに対しロールバックは、更新前ログを使ってトランザクションの開始時点まで戻す方法で、処理途中の異常終了に対応する。進めるか戻すかで区別する。
出典:令和1年度 春期 基本情報技術者試験 午前 問57(IPA)トランザクションTはチェックポイント取得後に完了したが,その後にシステム障害が発生した。トランザクションTの更新内容をその終了直後の状態にするために用いられる復…
正解:ロールフォワード
要点:完了済みはロールフォワード、未完了はロールバックで回復
チェックポイント後に正常終了したトランザクションは、障害時点で更新結果が磁気ディスクに書き出されていない可能性がある。この場合はログの更新後情報(アフタイメージ)を使って更新を再現し、終了直後の状態まで進める。これがロールフォワードである。
出典:平成28年度 秋期 基本情報技術者試験 午前 問30(IPA)トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。
正解:原子性(atomicity)
要点:原子性は全部実行か全く未実行かのどちらかを保証する
トランザクションに求められる4つの性質のうち、処理を全て行うか全く行わなかった状態に戻すかのどちらかにする性質を原子性という。それ以上分割できない一つの塊として扱うという意味で、途中まで更新された中途半端な状態を残さないことを保証する。障害時にはロールバックによって開始前の状態へ戻すことでこの性質が守られる。
出典:平成28年度 春期 基本情報技術者試験 午前 問28(IPA)RDBMSの機能によって実現されるトランザクションの性質はどれか。
正解:ACID特性
要点:トランザクションの4性質はACID(原子性・一貫性・隔離性・耐久性)
トランザクションが備えるべき性質は、原子性(Atomicity)、一貫性(Consistency)、隔離性(Isolation)、耐久性(Durability)の4つで、頭文字を取ってACID特性と呼ばれる。DBMSはコミット・ロールバック、排他制御、ログによる回復といった機能でこれらを実現している。
出典:平成29年度 秋期 基本情報技術者試験 午前 問29(IPA)トランザクション処理プログラムが、データベース更新の途中で異常終了した場合、ロールバック処理によってデータベースを復元する。このとき使用する情報はどれか。
正解:ログファイルの更新前情報
要点:ロールバックは更新前情報、ロールフォワードは更新後情報を使う
ロールバックは異常終了したトランザクションの変更を取り消し、開始前の状態へ戻す処理である。そのためには更新される前の値が必要なので、ログファイルに記録された更新前情報(before image)を使って元の値を書き戻す。逆に、コミット済みの内容を再現するロールフォワードでは更新後情報を使う。
出典:平成29年度 秋期 基本情報技術者試験 午前 問30(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。