平成23年度 特別 午前Ⅱ 問13
トランザクション処理
ロールフォワードに関する問題
DBMS をシステム障害発生後に再立上げするとき,前進復帰(ロールフォワード)すべきトランザクションと後退復帰(ロールバック)すべきトランザクションの組合せとして,適切なものはどれか。ここで,トランザクションの中で実行される処理内容は次のとおりとする。
| トランザクション | データベースに対する Read 回数 と Write 回数 |
|---|---|
| T1,T2 | Read 10,Write 20 |
| T3,T4 | Read 100 |
| T5,T6 | Read 20,Write 10 |
トランザクションの実行状況:
時間 → チェックポイント 障害発生 T1 ――――● | T2 ――――――――――――|―――――――● T3 | ――――――――――――――――| T4 ―――――――――――――|――――――――――――――――――――――| T5 | ―――――――――● T6 | ―――――――――――|
- T1:チェックポイントより前に開始し,チェックポイントより前にコミットされた。
- T2:チェックポイントより前に開始し,チェックポイントの後,障害発生より前にコミットされた。
- T3:チェックポイントの後に開始し,障害発生時点でコミットされていない。
- T4:チェックポイントより前に開始し,障害発生時点でコミットされていない。
- T5:チェックポイントの後に開始し,障害発生より前にコミットされた。
- T6:チェックポイントの後に開始し,障害発生時点でコミットされていない。
- 凡例:線だけのものはコミットされていないトランザクションを示し,線の終わりに ● があるものはコミットされたトランザクションを示す。
選択肢は原典では前進復帰,後退復帰の表。
- ア前進復帰:T2,T5 / 後退復帰:T6
- イ前進復帰:T2,T5 / 後退復帰:T3,T6
- ウ前進復帰:T1,T2,T5 / 後退復帰:T6
- エ前進復帰:T1,T2,T5 / 後退復帰:T3,T6
答えと解説を見る
✓ これが正解ア前進復帰:T2,T5 / 後退復帰:T6
解説
T2・T5 は前進復帰、書込みのある未完了の T6 は後退復帰です。
再立上げでは、チェックポイントの時点でデータベースに書き出された状態を出発点に、ログを使って二つの処理をします。チェックポイント後から障害までにコミットしたトランザクションは、更新後ログでロールフォワードします。障害時点で未コミットのトランザクションのうち、データベースに書込みをしたものは、更新前ログでロールバックします。T1 はチェックポイントより前にコミット済みなので何もしません。T2 と T5 はチェックポイント後にコミットしたので前進復帰です。未コミットは T3、T4、T6 ですが、T3 と T4 は Read だけで書込みが無く、戻す更新がありません。書込みのある T6 だけが後退復帰です。コミットの時点、チェックポイントの位置、書込みの有無を順に確かめるのが解き方です。
ほかの選択肢はなぜ違うのか
- イ前進復帰:T2,T5 / 後退復帰:T3…:T3 を後退復帰に含めていますが、T3 は Read だけのトランザクションです。データベースを書き換えていないので、未コミットでも元に戻す更新がありません。
- ウ前進復帰:T1,T2,T5 / 後退復帰…:T1 を前進復帰に含めていますが、T1 はチェックポイントより前にコミットしています。その更新はチェックポイントでデータベースに反映済みなので、ログでやり直す必要はありません。
- エ前進復帰:T1,T2,T5 / 後退復帰…:T1 の前進復帰と T3 の後退復帰の二つを余分に含めています。T1 の更新はチェックポイントで反映済みで、T3 は読むだけなので、どちらも回復の対象になりません。
この問題の用語
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成23年度 特別 データベーススペシャリスト試験 午前Ⅱ 問13
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問16(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問12:ロールフォワードに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問2:概念データモデルの説明(DBMS)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)