システムアーキテクト試験 2023年 午前224


DBMSがトランザクションのコミット処理を完了するタイミングはどれか。
アプリケーションプログラムの更新命令完了時点
チェックポイント処理完了時点
ログバッファへのコミット情報書込み完了時点
ログファイルへのコミット情報書込み完了時点(正解)

解説

DBMSがトランザクションのコミット処理を完了するタイミングはどれか【午前2 解説】

要点まとめ

  • 結論:DBMSはトランザクションのコミット処理をログファイルへのコミット情報書込み完了時点で完了と判断します。
  • 根拠:永続性を保証するため、コミット情報は揮発性メモリではなくディスク上のログファイルに確実に書き込まれる必要があります。
  • 差がつくポイント:ログバッファとログファイルの違いを理解し、揮発性メモリと永続記憶の区別ができることが重要です。

正解の理由

トランザクションのコミットは、データベースの永続性を保証するために、コミット情報が確実にディスク上のログファイルに書き込まれた時点で完了とみなされます。ログバッファは主に揮発性メモリ上の一時領域であり、ここに書き込まれただけでは電源断などで情報が失われる可能性があります。したがって、ログファイルへの書込み完了がコミット完了の正式なタイミングです。

よくある誤解

ログバッファへの書込み完了をコミット完了と誤解しやすいですが、これは揮発性メモリ上の処理であり永続性が保証されません。アプリケーションの更新命令完了時点もDBMSのコミット完了とは異なります。

解法ステップ

  1. トランザクションのコミット処理の目的を理解する(永続性の保証)。
  2. ログバッファとログファイルの違いを確認する(揮発性か永続性か)。
  3. コミット完了の条件はログファイルへの書込み完了であることを認識する。
  4. 選択肢の中から「ログファイルへのコミット情報書込み完了時点」を選ぶ。

選択肢別の誤答解説

  • ア: アプリケーションプログラムの更新命令完了時点は、DBMS内部の処理完了とは限らず、コミット完了とは異なります。
  • イ: チェックポイント処理完了時点は、トランザクションのコミットとは直接関係なく、障害回復のための処理です。
  • ウ: ログバッファへのコミット情報書込み完了時点は揮発性メモリ上の処理であり、永続性が保証されないためコミット完了とは言えません。
  • エ: ログファイルへのコミット情報書込み完了時点は、永続性が保証されるためコミット完了の正しいタイミングです。

補足コラム

トランザクションのACID特性の中で「永続性(Durability)」は、コミット後の変更が永続的に保存されることを意味します。これを実現するために、DBMSはコミット情報をログファイルに書き込み、障害発生時のリカバリに備えています。ログファイルは通常ディスクに保存され、電源断などの障害からデータを守ります。

FAQ

Q: ログバッファとログファイルの違いは何ですか?
A: ログバッファは揮発性メモリ上の一時領域で高速ですが、電源断で消失します。ログファイルはディスク上の永続領域で、障害時の復旧に使われます。
Q: チェックポイント処理はコミットとどう違いますか?
A: チェックポイントは障害回復を高速化するために、変更内容をディスクに反映する処理であり、トランザクションのコミット完了とは直接関係ありません。

関連キーワード: トランザクション, コミット処理, ログファイル, 永続性, DBMS, ACID特性
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ