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

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

解答・解説

正解: エ. ログファイルへのコミット情報書込み完了時点

DBMSにおけるトランザクションのコミット処理は、ACID特性のうちの耐久性(Durability)を保証するために行われます。
耐久性を確保するためには、システム障害が発生しても更新結果が失われないように、不揮発性の記憶媒体(ディスクなど)に記録を書き込む必要があります。したがって、コミット処理が完了するのは、ログファイルへのコミット情報の書き込みが完了した時点です。

各選択肢の解説

  • ア:アプリケーションプログラムの更新命令完了時点
    更新命令を出しただけでは、メモリ(バッファ)上のデータが更新されただけであり、確定(コミット)されていません。
  • イ:チェックポイント処理完了時点
    チェックポイント処理は、メモリ上の更新済みデータをディスクに書き込み、障害回復(リカバリ)時のログ適用時間を短縮するための処理です。コミットのタイミングとは直接関係ありません。
  • ウ:ログバッファへのコミット情報書込み完了時点
    ログバッファは揮発性のメモリ上に存在するため、この時点でシステム障害が発生するとコミット情報が失われてしまいます。そのため、完了時点とはなりません。
  • エ:ログファイルへのコミット情報書込み完了時点
    正解です。ログファイル(不揮発性記憶媒体)に書き込まれることで、障害時にもデータが復旧可能となり、コミット処理完了となります。

Spineチーム