問56 更新をまとめて書き込む時点

ITパスポート 令和8年度 公開問題、全100問のうちの問56。

出典:令和8年度 ITパスポート試験 公開問題 問56

DBMS におけるチェックポイントの説明として,適切なものはどれか。

  1. アトランザクションが正常に処理されたときに,トランザクションの一連の処理を確定させること
  2. イトランザクションが何らかの理由で正常に処理されなかったときに,データベースをトランザクションの処理開始前の状態に戻すこと
  3. ウ複数のトランザクションを並列に処理しているときに,ロックの影響によってトランザクション同士が互いに相手のロックの解放を待つ状態になること
  4. エ複数のトランザクションによるメモリ上のデータ更新の結果を,一度にまとめて HDD などの外部記憶装置に書き込む操作や,操作が行われた時点のこと
答えと解説を開く

正解はエです。

DBMS は速さのために、データの更新をいったんメモリ上で行い、ディスク (HDD など) にはあとでまとめて書き込みます。このまとめて書き込む操作と、それを行った時点をチェックポイントと呼びます。障害が起きても、チェックポイントまでの内容はディスクに残っているので、そこから先だけをログで復旧すればよくなります。だから正解はエです。

ほかの選択肢が違う理由

  • アトランザクションの処理を確定させることはコミットです。
  • イ失敗したトランザクションを処理の前の状態に戻すことはロールバックです。
  • ウ互いに相手のロックの解放を待って先に進めなくなる状態はデッドロックです。

仕組み

トランザクションは、「口座 A から引いて口座 B に足す」のように、全部やるか全部やらないかのどちらかにしたい処理のまとまりです。

障害が起きたら、チェックポイントの時点の内容を出発点にし、それ以降の更新の記録 (ログ) を使って、確定済みの処理はやり直し (ロールフォワード)、確定前の処理は取り消します。

この問に出る言葉