令和6年度秋期 応用情報技術者試験 午前 問31
DBMSのチェックポイントに関する記述として,適切なものはどれか。
- ア 制約のチェックを行う時点を指し,データ操作ごとに即時にチェックを行うか,トランザクションのコミット時までチェックを遅延させるかの指定ができる。
- イ データベースバッファの内容を二次記憶に書き出した時点を指し,障害回復処理の際に,その時点までにコミットされたトランザクションの回復作業を不要にできる。
- ウ 一つのトランザクションの途中に任意に設定できる時点を指し,プログラムによってその時点まで明示的にロールバックできる。
- エ 分散トランザクションの調停者が,全参加者からコミット可否を受け取り,コミットかロールバックかの判定を行う時点を指し,その後に全参加者にコミット又はロールバックの実行要求を発行することによって,分散トランザクションの原子性,一貫性が保証できる。
解答・解説を見る
正解:イ
AI解説
チェックポイントとは、DBMSがある時点までのデータベースバッファ(更新内容)の内容を二次記憶(ディスク)へ書き出す処理、およびその時点を指す。障害発生時の回復処理では、チェックポイント以前にコミットされたトランザクションについては再実行(REDO)が不要になるなど、回復処理の範囲を限定でき、回復時間を短縮できる。よってイが正しい。 ア: これは整合性制約(一意性制約や外部キー制約など)を即時に検査するか、コミット時まで遅延させるかという「制約検査のタイミング」の説明であり、チェックポイントの説明ではない。 イ: データベースバッファの内容を二次記憶に書き出した時点であり、それ以前にコミット済みのトランザクションの障害回復作業を不要にできるのがチェックポイントであり、正しい。 ウ: トランザクションの途中で明示的にロールバック可能な地点を設定する仕組みは、セーブポイント(SAVEPOINT)の説明であり、チェックポイントの説明ではない。 エ: 分散トランザクションにおいて調停者が全参加者からの応答を基にコミット/ロールバックを判定する時点は、2相コミットにおけるコミットポイントの説明であり、チェックポイントの説明ではない。 💡 チェックポイント=バッファのディスク書き出し(回復の起点)、セーブポイント=トランザクション内の巻き戻し地点、と役割の違いを区別して覚える。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。