IPA過去問ドリル

令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問24

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

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

出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問24

正解:エ

解説

DBMS は障害回復のためにログ先書き(WAL:Write Ahead Log)方式を採用しており,コミット処理はコミット情報を不揮発性のログファイルへ書き込んだ時点で完了します。ログファイルに記録されていれば,その後に障害が発生してもロールフォワードによって更新内容を再現できるため,トランザクションの永続性(Durability)が保証されます。

選択肢ごとの解説

  • 誤り。アプリケーションプログラムの更新命令が完了した時点では,まだトランザクションはコミットされておらず,ロールバックされる可能性があります。
  • 誤り。チェックポイント処理は,バッファ上の更新内容をデータベースへ書き出して回復開始点を作る処理で,コミットのタイミングとは独立です。
  • 誤り。ログバッファは主記憶上にあるため,その時点で障害が起きると内容が失われます。ここではまだ永続性が保証されません。
  • 正しい。ログファイル(不揮発性の外部記憶)へコミット情報を書き込んだ時点でコミット処理が完了します。
システムアーキテクトの過去問を演習モードで解く