令和6年度 秋期 応用情報技術者試験 午前 問31

DBMSのチェックポイントに関する記述として,適切なものはどれか。

解答・解説

正解: イ. データベースバッファの内容を二次記憶に書き出した時点を指し,障害回復処理の際に,その時点までにコミットされたトランザクションの回復作業を不要にできる。

DBMSにおける チェックポイント(Checkpoint) とは、メモリ上のデータベースバッファに残っている更新データを、二次記憶装置(ハードディスクなどの永続ストレージ)に同期して書き出す処理、またはその時点を指します。

システム障害が発生した際のデータベース復旧(リカバリ)において、チェックポイント以前に完了(コミット)したトランザクションはすでに二次記憶に反映されていることが保証されます。そのため、ログ情報から再実行( ロールフォワード )する対象をチェックポイント以降のトランザクションに限定することができ、障害回復にかかる時間を大幅に短縮できます。

したがって、適切な記述は「イ」となります。

各選択肢の解説

  • ア:誤り
    整合性制約の評価タイミング(遅延評価など)に関する記述です。SQLにおける DEFERRABLE 指定などを用いて、制約の評価をトランザクションのコミット時まで遅延させる仕組みのことです。
  • イ:正解
    チェックポイントの適切な説明です。データベースバッファの内容を二次記憶に書き出し、障害回復時の回復作業(ロールフォワード)の負担を軽減します。
  • ウ:誤り
    セーブポイント(Savepoint) に関する説明です。トランザクション処理の途中にマーカーを設定し、エラー発生時などにトランザクション全体を破棄するのではなく、特定のセーブポイントまで部分的にロールバックするための仕組みです。
  • エ:誤り
    分散データベース環境における 2フェーズコミットプロトコル(2-Phase Commit) に関する説明です。複数ノードにまたがる分散トランザクションの原子性と一貫性を保証するための仕組みです。

Spineチーム