ホーム > 情報処理安全確保支援士試験 > 2020年 秋期
情報処理安全確保支援士試験 2020年 秋期 午前2 問21
DBMS がトランザクションのコミット処理を完了するタイミングはどれか。
ア:アプリケーションプログラムの更新命令完了時点
イ:チェックポイント処理完了時点
ウ:ログバッファへのコミット情報書込み完了時点
エ:ログファイルへのコミット情報書込み完了時点(正解)
解説
DBMSがトランザクションのコミット処理を完了するタイミングはどれか【午前2 解説】
要点まとめ
- 結論:DBMSはトランザクションのコミット処理をログファイルへのコミット情報書込み完了時点で完了と判断します。
- 根拠:トランザクションの耐障害性を確保するため、コミット情報は永続的なストレージに書き込まれる必要があります。
- 差がつくポイント:ログバッファへの書込みだけでは揮発性のため不十分で、ディスク上のログファイルへの書込み完了が必須です。
正解の理由
トランザクションのコミットは、データの永続性を保証するためにログファイル(ディスク上)へのコミット情報の書込みが完了した時点で確定します。ログバッファはメモリ上の一時領域であり、ここに書き込んだだけでは障害発生時に情報が失われる可能性があるため、コミット完了とはみなされません。したがって、ログファイルへの書込み完了がコミット処理完了のタイミングです。
よくある誤解
ログバッファへの書込み完了をコミット完了と誤解しやすいですが、これは揮発性のメモリ領域であり、永続性が保証されません。
また、アプリケーションの更新命令完了時点やチェックポイント処理完了時点はコミット完了の基準ではありません。
また、アプリケーションの更新命令完了時点やチェックポイント処理完了時点はコミット完了の基準ではありません。
解法ステップ
- トランザクションのコミット処理の目的を理解する(耐障害性・永続性の確保)。
- コミット情報がどこに書き込まれるかを確認する(ログバッファかログファイルか)。
- 永続性が保証されるのはディスク上のログファイルへの書込み完了時点であることを認識する。
- 選択肢の中からログファイルへの書込み完了時点を選ぶ。
選択肢別の誤答解説
- ア: アプリケーションプログラムの更新命令完了時点
→ アプリケーションの処理完了はDBMSのコミット完了とは異なり、永続性は保証されません。 - イ: チェックポイント処理完了時点
→ チェックポイントは障害回復の効率化のための処理であり、コミット完了のタイミングではありません。 - ウ: ログバッファへのコミット情報書込み完了時点
→ ログバッファはメモリ上の一時領域であり、障害時に情報が失われるためコミット完了とはみなされません。 - エ: ログファイルへのコミット情報書込み完了時点
→ 永続的なストレージへの書込み完了により、トランザクションのコミットが確定します。
補足コラム
トランザクション管理におけるログファイルは、障害発生時のリカバリに不可欠な役割を果たします。コミット情報がディスクに書き込まれて初めて、トランザクションの変更内容は永続化され、障害後もデータの整合性が保たれます。ログバッファは性能向上のために用いられますが、単独ではコミット完了の証明にはなりません。
FAQ
Q: なぜログバッファへの書込みだけではコミット完了とならないのですか?
A: ログバッファは揮発性のメモリ領域であり、障害発生時に内容が失われる可能性があるため、永続性が保証されません。
A: ログバッファは揮発性のメモリ領域であり、障害発生時に内容が失われる可能性があるため、永続性が保証されません。
Q: チェックポイント処理はコミットとどう違いますか?
A: チェックポイントは障害回復を効率化するためにログの内容をディスクに反映する処理であり、トランザクションのコミット完了とは直接関係ありません。
A: チェックポイントは障害回復を効率化するためにログの内容をディスクに反映する処理であり、トランザクションのコミット完了とは直接関係ありません。
関連キーワード: トランザクション管理, コミット処理, ログファイル, 耐障害性, DBMS