令和6年秋期試験問題 午前問31

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

  • 制約のチェックを行う時点を指し,データ操作ごとに即時にチェックを行うか,トランザクションのコミット時までチェックを遅延させるかの指定ができる。
  • データベースバッファの内容を二次記憶に書き出した時点を指し,障害回復処理の際に,その時点までにコミットされたトランザクションの回復作業を不要にできる。
  • 一つのトランザクションの途中に任意に設定できる時点を指し,プログラムによってその時点まで明示的にロールバックできる。
  • 分散トランザクションの調停者が,全参加者からコミット可否を受け取りコミットかロールバックかの判定を行う時点を指し,その後に全参加者にコミット又はロールバックの実行要求を発行することによって,分散トランザクションの原子性,一貫性が保証できる。
正解 問題へ
分野 :テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
DBMSは、ディスクに対する入出力効率を向上させるために、トランザクションの更新情報をメモリ上のバッファとログファイルに記憶しておき、一定の間隔(通常は1分から5分程度)ごとにまとめてディスクに反映させるという方式をとっています。このディスクと同期を取るタイミングをチェックポイントといいます。

チェックポイントまでのトランザクションはディスクに反映済みなので、媒体障害を除く障害(システム障害やトランザクション障害)からの回復時には、チェックポイント以前にコミットされたトランザクションについて回復作業を行う必要はありません。

チェックポイントは、長い文章を書くときの「途中保存」のようなものです。例えば、レポートを作成している最中にPCがクラッシュしても、最後に保存したところまでの作業は残っています。同じように、データベースにおいて「途中保存」のような役割を果たすのがチェックポイントです。

したがって「イ」の記述が適切です。
  • 即時制約と遅延制約に関する記述です。このチェック動作はチェックポイントの「チェック」とは無関係です。
  • 正しい。チェックポイントは、データベースバッファを二次記憶に書き出した時点を指します。
  • セーブポイントの説明です。セーブポイントはトランザクション内で設定する中間地点で、障害時にその地点まで部分的にロールバックできる機能を提供します。
  • 2相コミットの説明です。トランザクションのコミットを次の2つの段階に分けて行うことで、分散データベース環境でのトランザクションの原子性・一貫性を保証する仕組みです。

Pagetop