令和6年度 春期 午前 問27
データベース
チェックポイントに関する問題
トランザクション T はチェックポイント後にコミットしたが,その後にシステム障害が発生した。トランザクション T の更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。ここで,トランザクションは WAL プロトコルに従い,チェックポイントの他に,トランザクションログを利用する。
- ア2 相ロック
- イシャドウページ
- ウロールバック
- エロールフォワード
答えと解説を見る
✓ これが正解エロールフォワード
解説
確定済みなので、記録を使って前へ進めます。
設問は、障害が起きたあとに、あるトランザクションの更新を終了直後の状態へ持っていくための技法を選ばせています。軸になるのは、時間の並びを一本の線に描いて、障害の時点で何が済んでいたかを見ることです。線の上には、チェックポイント、コミット、システム障害の順に三つの点が並びます。チェックポイントの時点までは更新の内容がディスクへ書き出されていますが、その後に確定したものは、まだディスクに届いていない恐れがあります。ここで効くのが WAL プロトコルという約束で、データの本体より先にトランザクションログを書くと決めてあるため、本体が届いていなくても記録のほうには必ず残っています。設問は更新の内容を終了直後の状態にしたいと言っているので、その処理の成果を生かす向きです。したがって、記録に残っている更新後の値を、もう一度データへ書き進める前進復帰の技法を使います。
ほかの選択肢はなぜ違うのか
- ア2 相ロック:ロックを取得する段階と解放する段階を分けることで、同時に走る処理どうしの整合を保つ作法です。ねらいは並行して動かすときの制御にあり、障害が起きたあとにデータを元の姿へ復旧させる手段ではありません。
- イシャドウページ:更新を別のページへ書いておき、確定の時点でページの対応表を差し替える方式です。記録を使わずに済ませる別立ての作りなので、記録を利用すると断っている設問の前提から外れます。
- ウロールバック:更新する前の値へ戻す後退復帰の技法です。使う場面は、障害の時点でまだ確定していなかった処理であり、確定を済ませた処理に当てると、済んだ仕事まで取り消してしまうことになります。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- プロトコル通信するときの、決まりごとや手順のまとまりのことをいいます。送る側と受ける側が同じものに従うことで、やり取りが成り立ちます。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:令和6年度 春期 応用情報技術者試験 午前 問27
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 令和6年度 秋期 午前 問27:ロールバックに関する問題(トランザクション)
- 令和6年度 秋期 午前 問12(トランザクション)
- 令和6年度 春期 午前 問55:SaaSに関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)