DBMS のチェックポイント
出典: 令和6年度 秋期 応用情報技術者試験 午前 問31 (IPA)
DBMS のチェックポイントに関する記述として,適切なものはどれか。
- ア 制約のチェックを行う時点を指し,データ操作ごとに即時にチェックを行うか,トランザクションのコミット時までチェックを遅延させるかの指定ができる。
- イ データベースバッファの内容を二次記憶に書き出した時点を指し,障害回復処理の際に,その時点までにコミットされたトランザクションの回復作業を不要にできる。
- ウ 一つのトランザクションの途中に任意に設定できる時点を指し,プログラムによってその時点まで明示的にロールバックできる。
- エ 分散トランザクションの調停者が,全参加者からコミット可否を受け取り,コミットかロールバックかの判定を行う時点を指し,その後に全参加者にコミット又はロールバックの実行要求を発行することによって,分散トランザクションの原子性,一貫性が保証できる。
正解と解説を見る
正解: イ
- ア: 制約のチェックを即時に行うか、コミット時まで遅らせるかの指定は、制約の遅延評価の話です。
- イ: バッファの内容をディスクに書き出した時点で、それより前にコミットされたトランザクションの回復を不要にできるのがチェックポイントなので正しい記述です。
- ウ: トランザクションの途中に設定し、そこまでロールバックできる時点は、セーブポイントです。
- エ: 調停者が全参加者の応答を受けてコミットかロールバックかを決めるのは、2 相コミットの説明です。
ポイント
- チェックポイント: メモリ上のデータベースバッファの更新内容を、定期的にディスク (二次記憶) に書き出す時点です。
- 障害が起きたとき、チェックポイントより前にコミット済みのトランザクションはディスクに反映済みなので、回復処理 (ロールフォワード) が要りません。チェックポイント以降のログだけを処理すればよく、回復が速くなります。