トランザクション処理(全63問中6問目)
正解 ア問題へ
広告
解説
undo/redo方式は、データベースにシステム障害が起こったときに、更新前ログを使用したロールバック(undo)と更新後ログを使用したロールフォワード(redo)を組み合わせてデータベースを回復する方法です。undoは行った操作の取り消し、redoは行った操作の再実行という意味です。
障害発生時に進行中だったトランザクションは、一部の更新がディスクに反映されているので、ロールバックを実行してトランザクション開始前の状態に戻します(④)。チェックポイント後にコミットされたトランザクションは、ディスクからコミットの内容が失われているので、ロールフォワードを実行してデータベースにトランザクションの処理結果を反映させます(②③)。更新前情報はundoで必要、更新後情報はredoで必要なので、正しい組合せは「ア」です。
なお、コミットするまでデータベースを一切更新しない遅延更新の管理機構ではロールバックが不要なので、障害回復時にredoのみを行いundoを行わない「no-undo/redo方式」が使われることもあります。
障害発生時に進行中だったトランザクションは、一部の更新がディスクに反映されているので、ロールバックを実行してトランザクション開始前の状態に戻します(④)。チェックポイント後にコミットされたトランザクションは、ディスクからコミットの内容が失われているので、ロールフォワードを実行してデータベースにトランザクションの処理結果を反映させます(②③)。更新前情報はundoで必要、更新後情報はredoで必要なので、正しい組合せは「ア」です。
なお、コミットするまでデータベースを一切更新しない遅延更新の管理機構ではロールバックが不要なので、障害回復時にredoのみを行いundoを行わない「no-undo/redo方式」が使われることもあります。
広告