ITパスポート 2026年 問56
問題文
DBMSにおけるチェックポイントの説明として、適切なものはどれか。
選択肢
ア:トランザクションが正常に処理されたときに、トランザクションの一連の処理を確定させること
イ:トランザクションが何らかの理由で正常に処理されなかったときに、データベースをトランザクションの処理開始前の状態に戻すこと
ウ:複数のトランザクションを並列に処理しているときに、ロックの影響によってトランザクション同士が互いに相手のロックの解放を待つ状態になること
エ:複数のトランザクションによるメモリ上のデータ更新の結果を、一度にまとめてHDDなどの外部記憶装置に書き込む操作や、操作が行われた時点のこと(正解)
🔒 解説は解答すると表示されます
DBMSのチェックポイントの説明【ITパスポート 解説】
正解の理由
選択肢エが正しい理由は、チェックポイントは「メモリ上の変更(バッファにある更新済みデータ)をまとめて外部記憶装置に書き出す操作や、その時点」を指すからです。
ここで用いる用語を簡単に説明します。
ここで用いる用語を簡単に説明します。
- DBMS(Database Management System:データベースを管理するソフトウェア)
データの保存や検索、整合性の維持などを行います。 - トランザクション(処理のまとまり)
いくつかの操作を1つにまとめ、全部成功するか全部失敗するかを保証する単位です。 - HDD(Hard Disk Drive:ハードディスクドライブ、磁気式の外部記憶装置)やSSD(フラッシュタイプの外部記憶装置)を「外部記憶装置」と総称します。
- 「メモリ上の更新」とは、DBMSのバッファ(主にメモリ)で行われた変更で、まだディスクに確定していないデータです。
チェックポイントは、これらメモリ上の「ダーティページ(更新済みでまだ書き出されていないページ)」を一括でディスクに書き出す仕組みです。これにより、障害発生時のログを使った復旧(リカバリ)で必要な作業量を減らせます。したがって選択肢エの説明に一致します。
解法ステップ
- 問題文でキーワードを探す:「チェックポイント」「メモリ上のデータ更新」「外部記憶装置へ書き込む」など。
- 用語の定義を思い出す:チェックポイントは「ディスクへの書き出し(同期)」に関する語。
- 各選択肢と定義を照合する:コミット・ロールバック・デッドロックといった別の概念と混同していないか確認する。
- 一致するものを選ぶ:メモリ→ディスクの一括書き込みを説明する選択肢を選ぶ(つまりエ)。
選択肢別の誤答解説
-
ア: 「トランザクションが正常に処理されたときに、トランザクションの一連の処理を確定させること」
→ これはコミット(commit)の説明です。コミットは「そのトランザクションの変更を確定する操作」で、チェックポイントとは目的とタイミングが異なります。 -
イ: 「トランザクションが何らかの理由で正常に処理されなかったときに、データベースを開始前の状態に戻すこと」
→ これはロールバック(rollback)の説明です。失敗したトランザクションの影響を取り消す操作で、チェックポイントとは別の機能です。 -
ウ: 「複数のトランザクションを並列に処理しているときに、ロックの影響によってトランザクション同士が互いに相手のロックの解放を待つ状態になること」
→ これはデッドロック(deadlock)の説明です。トランザクション同士が互いに待ち合う競合状態で、チェックポイントとは無関係です。 -
エ: 「複数のトランザクションによるメモリ上のデータ更新の結果を、一度にまとめてHDDなどの外部記憶装置に書き込む操作や、操作が行われた時点のこと」
→ これがチェックポイントの説明です。メモリ→ディスクへの書き出しで、障害時の復旧負荷を小さくします。
よくある誤解
-
「チェックポイントはトランザクションを確定(コミット)するもの」
→ 誤りです。コミットは個々のトランザクションの確定を指します。チェックポイントはチェックポイント時点でのメモリ内容をディスクへ書く仕組みで、コミットとは別に定期的に行われます。 -
「チェックポイントを取ればデータベースの完全なバックアップになる」
→ チェックポイントはディスクへの書き出しを助けますが、完全なバックアップ(別媒体に保存すること)とは違います。チェックポイントだけではログや構成情報が別途必要な場合があります。 -
「チェックポイントは常に即座に行われる」
→ 実際は頻度の調整があり、頻繁に行うと性能に影響します。逆に稀にしか行わないと障害復旧が重くなります(トレードオフがあります)。
補足コラム
チェックポイントは障害発生時の復旧時間(リカバリ時間)を短くするための重要機能です。多くのDBMSは「Write-Ahead Logging(WAL:先にログを書いてからデータを書き戻す方式)」を採用しています。WALではまずログ(操作の記録)を安全な場所に書き、必要に応じてチェックポイントでデータ本体をディスクに反映します。
例えると、文書作成で「自動保存(ログ)」をこまめに行い、定期的に「ファイルとして保存(チェックポイント)」するようなイメージです。自動保存だけだと再起動後に未保存分を取り出す手間が残りますが、定期的にファイル保存(チェックポイント)しておくと復旧が楽になります。
例えると、文書作成で「自動保存(ログ)」をこまめに行い、定期的に「ファイルとして保存(チェックポイント)」するようなイメージです。自動保存だけだと再起動後に未保存分を取り出す手間が残りますが、定期的にファイル保存(チェックポイント)しておくと復旧が楽になります。
チェックポイントのタイミング例:
- 定期的(例:数分ごと)
- ログ領域がいっぱいになりそうなとき
- シャットダウン前(安全に停止するため) 性能と安全性のバランスが運用のポイントです。
FAQ
Q1: チェックポイントは自動で行われますか?
A1: 多くのDBMSでは自動的に行われます。設定で頻度を調整したり、手動で実行できるものもあります。
A1: 多くのDBMSでは自動的に行われます。設定で頻度を調整したり、手動で実行できるものもあります。
Q2: チェックポイントはクラッシュ後のデータ整合性を完全に保証しますか?
A2: チェックポイントは復旧を簡素化しますが、整合性保証はログとトランザクション管理(WALやコミット処理)との組合せで成り立ちます。単独で完全保証するものではありません。
A2: チェックポイントは復旧を簡素化しますが、整合性保証はログとトランザクション管理(WALやコミット処理)との組合せで成り立ちます。単独で完全保証するものではありません。
Q3: チェックポイントを頻繁に取ると何が起きますか?
A3: ディスクへの書き込み回数が増えるため、性能(書き込みオーバーヘッド)に悪影響が出ることがあります。一方で復旧時間は短くなります。バランスが重要です。
A3: ディスクへの書き込み回数が増えるため、性能(書き込みオーバーヘッド)に悪影響が出ることがあります。一方で復旧時間は短くなります。バランスが重要です。
関連キーワード: チェックポイント、トランザクション、コミット、ロールバック、デッドロック、WAL、ダーティページ、バッファプール、データ永続化、リカバリ、ログ管理、HDD、SSD

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

