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