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