HOME»情報セキュリティスペシャリスト平成28年秋期»午前Ⅱ 問21
情報セキュリティスペシャリスト平成28年秋期 午前Ⅱ 問21
問21
システム障害発生時には,データベースの整合性を保ち,かつ,最新のデータベース状態に復旧する必要がある。このために,DBMSがトランザクションのコミット処理完了とみなすタイミングとして,適切なものはどれか。
- アプリケーションの更新命令完了時点
- チェックポイント処理完了時点
- ログバッファへのコミット情報書込み完了時点
- ログファイルへのコミット情報書込み完了時点
- [出題歴]
- 安全確保支援士 R2秋期 問21
- 安全確保支援士 H30春期 問21
分類
テクノロジ系 » データベース » トランザクション処理
正解
エ
解説
トランザクションが正常終了したときはCOMMITコマンドによってトランザクションを確定させますが、COMMITを発行したからといって即座に補助記憶に更新内容が反映されるわけではありません。これはデータベースの更新が主記憶を介して①~⑤の手順で行われるからです。
このような理由からトランザクションは、コミット文が実行された時点ではなくWALプロトコルに従って更新後ログが物理的記憶装置に書き込まれた瞬間にコミットしたとみなします。一旦ログが安定記憶上(二重化されたディスクなど)に書き込まれたならば、たとえコミット文に実行以後に障害が発生しても、そのトランザクションを再現することが可能になるためです。
したがって正解は「エ」です。
- トランザクション開始
- データベースから主記憶にデータを読み込む
- 主記憶上のデータを更新する
- コミット~トランザクション終了
- 書出しのタイミング(チェックポイント)ごとに、それまでに主記憶上で更新されたデータをまとめて補助記憶に書き込む
このような理由からトランザクションは、コミット文が実行された時点ではなくWALプロトコルに従って更新後ログが物理的記憶装置に書き込まれた瞬間にコミットしたとみなします。一旦ログが安定記憶上(二重化されたディスクなど)に書き込まれたならば、たとえコミット文に実行以後に障害が発生しても、そのトランザクションを再現することが可能になるためです。
したがって正解は「エ」です。
- WALプロトコル
- トランザクションがログを安定記憶に書き出すタイミングについての取り決めで、"Write Ahead Log"(まずログを書け)という意味のとおり、実際の操作に先行してログの書き出すことを求めるもの