問21 DBMS のコミットの完了

情報処理​安全確保​支援士 令和7年度 秋期 午前II、全25問のうちの問21。

出典:令和7年度 秋期 情報処理安全確保支援士試験 午前II 問21

DBMS がトランザクションのコミット処理を完了するタイミングはどれか。

  1. アアプリケーションプログラムによるデータ更新命令完了時点
  2. イチェックポイント処理完了時点
  3. ウログバッファへのコミット情報書込み完了時点
  4. エログファイルへのコミット情報書込み完了時点
答えと解説を開く

正解はエです。

コミットを完了とした後は、障害が起きても更新が残っていなければなりません。メモリの上のデータは電源が切れると消えるので、DBMS はコミットの記録をディスクなどのログファイルに書き終えた時点で完了とします。データ本体をまだディスクに書いていなくても、ログが残っていれば、障害の後にやり直して元に戻せます。エが正解です。

ほかの選択肢が違う理由

  • ア更新の命令が終わっただけでは、まだコミットされていません。この後で取り消す (ロールバック) こともできます。
  • イチェックポイントは、メモリの上の更新をまとめてデータベースに書き出し、障害からの回復を短くするための処理です。コミットのたびに行う物ではありません。
  • ウログバッファはメモリの上の一時的な置き場です。ここに書いただけで障害が起きると記録が消えるので、完了とは言えません。

仕組み

先に記録を書き、後からデータを書く、という順番を守る方式を、ログ先行書き込み (WAL) と言います。データ本体を毎回ディスクへ書くより速く、しかも障害に強くできます。

ログは、障害の後の回復だけでなく、いつだれが何を変えたかを後から追う手がかりにもなります。ログの置き場を守ることは、セキュリティの面でも大切です。

この問に出る言葉