問題
テクノロジ系
問56 DBMS におけるチェックポイントの説明として,適切なものはどれか。
選択肢
- アトランザクションが正常に処理されたときに,トランザクションの一連の処理を確定させること
- イトランザクションが何らかの理由で正常に処理されなかったときに,データベースをトランザクションの処理開始前の状態に戻すこと
- ウ複数のトランザクションを並列に処理しているときに,ロックの影響によってトランザクション同士が互いに相手のロックの解放を待つ状態になること
- エ複数のトランザクションによるメモリ上のデータ更新の結果を,一度にまとめて HDD などの外部記憶装置に書き込む操作や,操作が行われた時点のこと
解説
正解:エ
概要
この問題は,DBMSにおけるチェックポイントの意味を問うものです。データベースの障害回復の仕組みを理解することがポイントです。
正解の理由
チェックポイントとは,複数のトランザクションによるメモリ上のデータ更新の結果を,一度にまとめてHDDなどの外部記憶装置に書き込む操作や,その操作が行われた時点のことです。障害発生時のリカバリ範囲をこの時点から限定できるため,エが正解です。
各選択肢の解説
ア(×): これはコミットの説明です。トランザクションの処理を確定させる操作をコミットといいます。
イ(×): これはロールバックの説明です。トランザクションが失敗した際にデータベースを開始前の状態に戻す操作です。
ウ(×): これはデッドロックの説明です。複数のトランザクションが互いにロックの解放を待つ状態のことです。
エ(〇): チェックポイントの正しい説明です。メモリ上の更新内容をHDDなどの永続的記憶装置に一括書き込みする操作,またはその時点を指します。
ポイント
チェックポイントはDBMSの障害回復処理において重要な概念です。チェックポイントより前に完了したトランザクションはHDDに反映済みであるため,障害発生後のリカバリはチェックポイント以降のログから行えばよく,回復処理が効率化されます。コミット・ロールバック・デッドロックも合わせて区別して覚えましょう。