SkillStack
テクノロジ系29 / 80問

応用情報技術者試験 令和4年度 春期 午前 問29

undo/redo 方式を用いた障害回復におけるログ情報の要否として、適切な組合せはどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ア

undo/redo方式では、障害発生時に未完了のトランザクションを取り消すundoと、完了済みのトランザクションを再実行するredoの両方を行います。undoでは、更新途中で障害が発生した処理の影響を取り除くため、データを更新前の値へ戻します。この復元には更新前情報が必要です。一方、redoでは、コミット済みでもデータベースへの書込みが完了していない更新を反映し直すため、更新後情報が必要です。したがって、更新前情報と更新後情報の両方が必要となり、アが正解です。

イは誤りです。更新前情報があればundoはできますが、更新後情報がないのでredoを実行できません。これはundoだけを行う方式に対応する組合せです。

ウは誤りです。更新後情報があればredoはできますが、更新前情報がないので未完了処理を元に戻せません。これはredoだけを行う方式に対応する組合せです。

エは誤りです。いずれの情報もなければ、更新の取消しにも再実行にも必要な値が分からず、undo/redo方式による回復ができません。

【ポイント】 undoは未コミットの更新を取り消す処理で、更新前情報を使用します。 redoはコミット済みの更新を再反映する処理で、更新後情報を使用します。 ログを先に記録してから実データを更新する方式を、ログ先行書込みといいます。

出典:令和4年度 春期 応用情報技術者試験 午前 問29
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の80問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める