令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問24
テクノロジ/データベースDBMS がトランザクションのコミット処理を完了するタイミングはどれか。
出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問24
- アアプリケーションプログラムの更新命令完了時点
- イチェックポイント処理完了時点
- ウログバッファへのコミット情報書込み完了時点
- エログファイルへのコミット情報書込み完了時点
正解:エ
解説
DBMS は障害回復のためにログ先書き(WAL:Write Ahead Log)方式を採用しており,コミット処理はコミット情報を不揮発性のログファイルへ書き込んだ時点で完了します。ログファイルに記録されていれば,その後に障害が発生してもロールフォワードによって更新内容を再現できるため,トランザクションの永続性(Durability)が保証されます。
選択肢ごとの解説
- ア誤り。アプリケーションプログラムの更新命令が完了した時点では,まだトランザクションはコミットされておらず,ロールバックされる可能性があります。
- イ誤り。チェックポイント処理は,バッファ上の更新内容をデータベースへ書き出して回復開始点を作る処理で,コミットのタイミングとは独立です。
- ウ誤り。ログバッファは主記憶上にあるため,その時点で障害が起きると内容が失われます。ここではまだ永続性が保証されません。
- エ正しい。ログファイル(不揮発性の外部記憶)へコミット情報を書き込んだ時点でコミット処理が完了します。