平成24年度 春期 午前Ⅱ 問14
トランザクション処理
ロールフォワードに関する問題
システム障害発生時には,データベースの整合性を保ち,かつ,最新のデータベース状態に復旧する必要がある。このために,DBMS がトランザクションのコミット処理完了とみなすタイミングとして,適切なものはどれか。
- アアプリケーションの更新命令完了時点
- イチェックポイント処理完了時点
- ウログバッファへのコミット情報書込み完了時点
- エログファイルへのコミット情報書出し完了時点
答えと解説を見る
✓ これが正解エログファイルへのコミット情報書出し完了時点
解説
コミット情報がログファイルに書き出された時点で完了とみなします。
障害が起きても、コミットしたトランザクションの更新は失われてはならず、最新の状態に復旧できなければなりません。メモリ上のログバッファにあるだけでは、システム障害で内容が消えてしまいます。そこで DBMS は、コミット情報がログファイルという障害で消えない記憶に書き出された時点で、コミット処理が完了したとみなします。データベース本体への反映は後でもかまいません。ログファイルにさえ残っていれば、再立上げのときに更新後の情報を使ってロールフォワードし、最新の状態を再現できるからです。障害で消えない場所に記録されたかどうか、を基準にすると、コミット完了のタイミングを選べます。
ほかの選択肢はなぜ違うのか
- アアプリケーションの更新命令完了時点:アプリケーションの更新命令が完了しただけでは、更新はまだメモリ上にあるかもしれません。その時点で障害が起きると、コミットしたはずの更新が失われ、最新の状態に戻せません。
- イチェックポイント処理完了時点:チェックポイントは、メモリ上の更新を定期的にデータベースへ書き出す処理で、コミットのたびに行うものではありません。その完了まで待つとすると、コミットの応答が大きく遅れます。
- ウログバッファへのコミット情報書込み完了時…:ログバッファはメモリ上の領域なので、書き込んだだけではシステム障害で内容が消えてしまいます。コミット情報が失われると、そのトランザクションの更新を再現できません。
この問題の用語
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成24年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問12:ロールフォワードに関する問題(DBMS)
- 令和5年度 秋期 午前Ⅱ 問19:DRDoSに関する問題(ログ)
- 令和2年度 10月 午前Ⅱ 問23:フェールオーバ処理の順序(ログ)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)