トランザクション処理 (全65問中6問目)
No.6
チェックポイントを取得するDBMSにおいて,図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるトランザクションだけを全て挙げたものはどれか。
出典:令和4年秋期 問29
- T1
- T2 と T3
- T4 と T5
- T5
- [出題歴]
- 応用情報技術者 H27秋期 問30
- ソフトウェア開発技術者 H17春期 問68
分類
テクノロジ系 » データベース » トランザクション処理
正解
ウ
解説
ロールフォワード(前進復帰)は、データベースシステムに障害が起こったとき、トランザクションの更新後ログを使用することで過去に処理したトランザクションを再現し、システム障害の直前までデータベースの状態を回復させる処理です。
システム障害から復帰すると、データベースの状態はチェックポイント時点のデータに戻ります。トランザクションには、処理がすべて実行されるか・全く実行されないかのどちらか終了する性質(原子性)と、一旦正常終了したトランザクションの結果は、その後システムに障害が発生しても失われない性質(永続性)が要求されますから、復帰後はこの性質を満たすためにロールフォワードやロールバックが行われます。
図の5つのトランザクションは、復帰後の対処によって3つのグループに分かれます。
システム障害から復帰すると、データベースの状態はチェックポイント時点のデータに戻ります。トランザクションには、処理がすべて実行されるか・全く実行されないかのどちらか終了する性質(原子性)と、一旦正常終了したトランザクションの結果は、その後システムに障害が発生しても失われない性質(永続性)が要求されますから、復帰後はこの性質を満たすためにロールフォワードやロールバックが行われます。
図の5つのトランザクションは、復帰後の対処によって3つのグループに分かれます。
- T1
- チェックポイント前にコミットされているので、コミットの内容は復帰後のデータベースに反映されている。よって、何もしない。
- T2、T3
- トランザクション処理中に障害が起こったので、原子性に基づき、データベースをトランザクション開始前の状態に戻す。よって、ロールバックを行う。
- T4、T5
- チェックポイント後、障害発生前にコミットがあったので、永続性に基づき、失われたコミットの内容を復帰後のデータベースに反映させる。よって、ロールフォワードを行う。