ホーム > 情報処理安全確保支援士試験 > 2016年 秋期

情報処理安全確保支援士試験 2016年 秋期 午前221


システム障害発生時には、データベースの整合性を保ち、かつ、最新のデータベース状態に復旧する必要がある。このために、DBMSがトランザクションのコミット処理を完了とするタイミングとして、適切なものはどれか。
アプリケーションの更新命令完了時点
チェックポイント処理完了時点
ログバッファへのコミット情報書込み完了時点
ログファイルへのコミット情報書込み完了時点(正解)

解説

システム障害が発生した際にデータベースの整合性を保ち、かつ最新の状態に復旧することは非常に重要です。これはトランザクション処理における「原子性(Atomicity)」や「耐久性(Durability)」の要件に関係しています。

トランザクションのコミット処理とは

トランザクションは一連のデータベース操作をまとめて処理し、すべて成功した場合に初めてその結果を確定(コミット)します。逆に一部でも失敗した場合はロールバックし、変更をなかったことにします。

コミットのタイミングとログの関係

トランザクションの結果を確定するコミット処理で重要なのは「耐久性(Durability)」です。すなわち、一度コミットが完了した変更はシステム障害が起きても必ず復旧できる状態で保存されていなければなりません。
そのため、DBMSはコミット時にコミット情報をログファイルへ確実に書き込むことを保証します。ログファイルとはディスク上に保存される永続的な記録で、障害発生時の復旧処理に利用されます。

選択肢の比較

  • ア: アプリケーションの更新命令完了時点
     これは単にアプリケーションからの更新要求に対する処理が終わった時点で、データベース内部でのコミット確定とは異なります。この時点では障害が起きると変更が反映されていない可能性があります。
  • イ: チェックポイント処理完了時点
     チェックポイントはデータベースの現在の状態をディスクに書き戻す処理ですが、トランザクションの各コミット時に毎回行われるわけではなくタイミングも遅れる可能性があるため、コミットの確定条件としては不十分です。
  • ウ: ログバッファへのコミット情報書込み完了時点
     ログバッファは一時的なメモリ領域であり、この時点ではまだ永続的に保存されていません。メモリの内容はシステム障害時に失われる可能性があるため、耐久性を保障できません。
  • エ: ログファイルへのコミット情報書込み完了時点(正解)
     コミット情報がディスク上の永続的なログファイルに確実に書き込まれたことを意味し、これにより障害が起きてもそのトランザクションの完了状態を復旧できます。故にコミットが完了したとDBMSが判断するのはこのタイミングです。

まとめ

トランザクションのコミット処理は、ログファイル(ディスク上)へのコミット情報の書き込みが完了した時点で「完了」とみなす必要があります。これにより、システム障害発生時でもデータベースの整合性が保たれ、最新の状態に復旧可能となります。
したがって、正解は「エ:ログファイルへのコミット情報書込み完了時点」です。
← 前の問題へ次の問題へ →

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