科目A問56
DBMSにおけるチェックポイントの説明として,適切なものはどれか。
| トランザクションが正常に処理されたときに,トランザクションの一連の処理を確定させること | |
| トランザクションが何らかの理由で正常に処理されなかったときに,データベースをトランザクションの処理開始前の状態に戻すこと | |
| 複数のトランザクションを並列に処理しているときに,ロックの影響によってトランザクション同士が互いに相手のロックの解放を待つ状態になること | |
| 複数のトランザクションによるメモリ上のデータ更新の結果を,一度にまとめてHDDなどの外部記憶装置に書き込む操作や,操作が行われた時点のこと |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- エ
解説
チェックポイントは、トランザクションの更新内容をいったんメモリ上のバッファに保持し、一定のタイミングでまとめて外部記憶装置(HDDなど)へ書き出す際の操作や、その時点を指します。これによりディスクI/Oの回数を抑えて処理効率を高めます。また、障害時の回復処理では基準点として機能し、チェックポイントまでの更新はディスクへ反映済みなので、以後にコミットされた処理を中心に確認すればよく、復旧時間を短縮できます。したがって「エ」が適切です。
| ア. | トランザクションが正常に処理されたときに,トランザクションの一連の処理を確定させること |
| コミットの説明です。正常終了時に処理結果を確定させることを指します。 | |
| イ. | トランザクションが何らかの理由で正常に処理されなかったときに,データベースをトランザクションの処理開始前の状態に戻すこと |
| ロールバックの説明です。異常などで処理が完了しなかった場合に開始前の状態へ戻します。 | |
| ウ. | 複数のトランザクションを並列に処理しているときに,ロックの影響によってトランザクション同士が互いに相手のロックの解放を待つ状態になること |
| デッドロックの説明です。並行実行中に相互に相手のロック解放を待って進めなくなる状態を指します。 | |
| エ. | 複数のトランザクションによるメモリ上のデータ更新の結果を,一度にまとめてHDDなどの外部記憶装置に書き込む操作や,操作が行われた時点のこと |
| 正しいです。複数トランザクションのメモリ上の更新結果をまとめてディスクに反映するチェックポイントの説明です。 |