IPA過去問ドリル

令和2年度 10月 情報処理安全確保支援士試験 午前Ⅱ 問21

テクノロジ/データベース

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

出典:令和2年度 10月 情報処理安全確保支援士試験 午前Ⅱ 問21

正解:エ

解説

DBMS におけるコミット処理は,トランザクションで行った更新内容を確定させ,障害が発生してもその更新内容が失われないこと(耐久性)を保証する処理です。このため,コミット処理は,更新後のログ情報がログバッファ上に置かれているだけでは完了とはみなされず,そのログ情報が不揮発性の記憶媒体上のログファイルへ実際に書き込まれた時点で完了したとみなされます。ログファイルへの書込みが完了していれば,たとえその後にシステム障害が発生してデータベース本体への反映が終わっていなくても,ログを用いてロールフォワードすることで更新内容を復元できるためです。

選択肢ごとの解説

  • 誤り。アプリケーションプログラムの更新命令が完了した時点では,その更新内容がログファイルに書き込まれ永続化されたとは限らないため,コミット処理の完了時点とはいえません。
  • 誤り。チェックポイント処理は,一定間隔でバッファの内容をディスクに反映し障害回復の起点を記録する処理であり,個々のトランザクションのコミット処理の完了タイミングとは異なります。
  • 誤り。ログバッファへの書込みは,メモリ上の一時的な記録であり,システム障害(電源断など)が発生するとバッファの内容は失われる可能性があるため,コミット処理の完了時点とはいえません。
  • 正しい。ログファイルへのコミット情報書込みが完了した時点で,DBMS はトランザクションのコミット処理を完了したとみなします。
情報処理安全確保支援士の過去問を演習モードで解く