平成28年度 秋期 午前 問30
データベース
チェックポイントに関する問題
トランザクション T はチェックポイント取得後に完了したが,その後にシステム障害が発生した。トランザクション T の更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。ここで,チェックポイントの他に,トランザクションログを利用する。
- ア2相ロック
- イシャドウページ
- ウロールバック
- エロールフォワード
答えと解説を見る
✓ これが正解エロールフォワード
解説
完了済みの更新をログで再現するロールフォワードです。
障害からの復旧では、時間をどちらの向きに動かすかが分かれ目になります。設問のトランザクションTは、チェックポイントを取った後に完了しています。完了しているということは、その更新は確定していて、障害の後も残っていなければならない内容です。ところがチェックポイントの時点の状態には、まだTの更新が入っていません。そこで、その時点から前へ進めてやる必要があります。トランザクションログには更新後の値が記録されているので、チェックポイント以降のログを順に適用し直せば、Tが終わった直後の状態を作り直せます。この向きの復旧がロールフォワードでした。押さえておきたいのは、完了しているものは前へ進めて再現し、完了していないものは後ろへ戻して取り消す、という対応です。設問はTが完了したと書いているので、前へ進める側になります。残る三つは、この向きに当てはまりません。一つは時間を戻して取り消す操作、一つは同時に動く処理の順序を整える取決め、もう一つは更新の反映のしかたそのものを変える別方式でした。
ほかの選択肢はなぜ違うのか
- ア2相ロック:2相ロックは、複数の処理が同時に動くときの矛盾を防ぐため、ロックを掛ける段階と外す段階を分ける取決めとして知られています。動いている最中の順序を整える仕組みであって、障害の後に確定済みの内容を作り直す手続きではありません。
- イシャドウページ:シャドウページは、更新前のページを残しておき、切替えによって整合した状態を保つ考え方として知られています。設問はチェックポイントとログを利用すると断っているので、ログを使わずに状態を切り替えるこの方式には当たりません。
- ウロールバック:ロールバックは、更新前の値を使って処理を始める前の状態まで巻き戻す操作です。向きが逆なので、これを使うと確定していたはずのTの更新まで消えてしまいます。求められていたのは終了直後の状態を取り戻すことでした。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成28年度 秋期 基本情報技術者試験 午前 問30
同じ用語が出る問題
- 令和6年度 科目A 問7:原子性に関する問題(トランザクション)
- 令和5年度 科目A 問7:ACIDに関する問題(トランザクション)
- 令和元年度 秋期 午前 問29:ロックが発生しないデータ処理順序(トランザクション)
- 令和元年度 秋期 午前 問28:取ることのない状態遷移(トランザクション)
- 平成30年度 秋期 午前 問55:キャパシティ管理に関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)