調查局三等申論題
112年
[資訊科學組] 資料庫應用
第 四 題
請以 Log-Based Recovery 資料復原模式為例,就如下的交易紀錄進行程序,以表格說明 Deferred Update 及 Immediate Update(包括 undo/redo及 undo/no-redo 兩種更新模式),在 t5 or t9 時間點,發生非毀滅性系統故障(兩個時間的系統故障屬獨立事件),T1~T6 交易紀錄應採取那種動作,來進行資料的復原?(20 分)
(附圖為交易時間軸,包含 T1 至 T6 在 t1 到 t10 的執行區間。System Failure 在 t5,Check Point 在 t7,另一個 System Failure 在 t9。)
(附圖為交易時間軸,包含 T1 至 T6 在 t1 到 t10 的執行區間。System Failure 在 t5,Check Point 在 t7,另一個 System Failure 在 t9。)
📝 此題為申論題
思路引導 VIP
- 先釐清各交易在故障時間點(t5、t9)的狀態:是已 Commit、Active(未 Commit)還是尚未發生。2. 判斷 Check Point(t7)的作用:在 t7 之前已 Commit 的交易,其異動已強制寫回 Disk,後續發生故障時不需再執行 Redo。3. 套用三種模式的核心規則:Deferred 只有 Redo(Active 不管)、Immediate(Undo/Redo) 兩者皆有、Immediate(Undo/No-Redo) 只有 Undo(Commit 者不管)。
🤖
AI 詳解
AI 專屬家教
【破題】本題測驗 Log-Based Recovery 機制下,不同更新模式(Deferred 與 Immediate)及檢查點(Check Point)機制對系統故障復原動作(Undo/Redo)之影響。 【解析】 一、 交易狀態與檢查點(Check Point)分析
▼ 還有更多解析內容
資料庫復原機制
💡 依據更新模式與檢查點位置,判斷交易應執行 Undo 或 Redo 復原。
| 比較維度 | 延遲更新 (Deferred) | VS | 立即更新 (Immediate) |
|---|---|---|---|
| 磁碟寫入時機 | Commit 後才寫入 | — | 交易執行中隨時寫入 |
| 未 Commit 處理 | Ignore (免 Undo) | — | 執行 Undo 回滾 |
| 已 Commit 處理 | Redo (重做) | — | Redo (除非 Force 模式) |
| 日誌策略 | No-Undo / Redo | — | Undo / Redo |
💬核心差異在於磁碟寫入時機,決定了故障復原時是否需要針對執行中交易進行 Undo。