応用情報技術者 2022年 春期 午前2 問29
問題文
undo/redo 方式を用いた障害回復におけるログ情報の要否として、適切な組合せはどれか。

選択肢
ア:(正解)
イ:
ウ:
エ:
undo/redo方式を用いた障害回復におけるログ情報の要否【午前2 解説】
要点まとめ
- 結論:undo/redo方式では更新前情報と更新後情報の両方がログに必要です。
- 根拠:障害発生時に処理を巻き戻す(undo)ために更新前情報、再実行(redo)には更新後情報が必須です。
- 差がつくポイント:更新前情報だけ、または更新後情報だけを記録する誤解を避け、両方の役割を正確に理解することが重要です。
正解の理由
undo/redo方式の障害回復では、トランザクションの途中で障害が起きた場合に、処理を元に戻す(undo)ために更新前情報が必要です。また、障害後に処理を再実行する(redo)ために更新後情報も必要です。したがって、ログには更新前情報と更新後情報の両方を記録しなければなりません。これにより、障害発生時の状態復元が正確に行えます。
よくある誤解
更新後情報だけあれば復旧できると考えたり、更新前情報だけで十分と誤解することがあります。undo/redo方式では両方の情報が不可欠です。
解法ステップ
- undo/redo方式の基本動作を理解する(undoは巻き戻し、redoは再実行)。
- 障害回復に必要な情報を整理する(undoに更新前情報、redoに更新後情報)。
- 選択肢の更新前情報・更新後情報の要否を照らし合わせる。
- 両方必要な選択肢を選ぶ。
選択肢別の誤答解説
- イ(更新前情報必要、更新後情報不要):redoに必要な更新後情報が欠落し誤り。
- ウ(更新前情報不要、更新後情報必要):undoに必要な更新前情報が欠落し誤り。
- エ(更新前情報不要、更新後情報不要):両方欠落し、障害回復が不可能で誤り。
補足コラム
undo/redo方式はデータベースの障害回復で広く使われます。undoログはトランザクションの途中での変更を元に戻すため、redoログは障害後に変更を再適用するために使われます。これにより一貫性のあるデータ状態を保てます。
FAQ
Q: なぜ更新前情報だけでは不十分なのですか?
A: 更新前情報はundoに必要ですが、障害後に処理を再実行するredoには更新後情報が必要だからです。
A: 更新前情報はundoに必要ですが、障害後に処理を再実行するredoには更新後情報が必要だからです。
Q: undo/redo方式とundo方式の違いは何ですか?
A: undo方式は更新前情報のみを記録し、redo方式は更新後情報のみを記録します。undo/redo方式は両方を記録し、より柔軟な回復が可能です。
A: undo方式は更新前情報のみを記録し、redo方式は更新後情報のみを記録します。undo/redo方式は両方を記録し、より柔軟な回復が可能です。
関連キーワード: 障害回復、undo/redo方式、ログ管理、トランザクション、データベース

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

