免費開始練習
高考申論題 112年 [資訊處理] 資料庫應用

第 四 題

有 5 個交易(transactions)T1, T2, T3, T4, T5,在被執行時,形成以下的程序(schedule),假設該資料庫管理系統的恢復機制(recovery mechanism)使用的是延遲更新協定(deferred update protocol)。並且假設系統在查核點時(checkpoint),會使所有正在執行的交易工作暫停,將已經完成的交易(committed transaction)的結果,強迫儲存(force write)到二線儲存器(secondary storage)。請說明這 5 個交易在系統當機後,重新恢復時,各需要對這 5 個交易作什麼處置,並說明理由。(25 分)
[start-transaction, T1]
[read_item, T1, A]
[start-transaction, T3]
[read_item, T3, C]
[write_item, T1, A, 10]
[start-transaction, T4]
[read_item, T4, D]
[commit, T1]
[write_item, T3, C, 20]
[checkpoint]
[read_item, T3, E]
[write_item, T4, D, 30]
[start-transaction, T2]
[write_item, T3, E, 40]
[commit, T3]
[read_item, T2, B]
[start-transaction, T5]
[write_item, T2, B, 50]
[read_item, T5, G]
[commit, T2]
[read_item, T4, H]
[write_item, T5, G, 60]
← system crash
📝 此題為申論題

思路引導 VIP

解此題的關鍵在於掌握「延遲更新協定(Deferred Update)」的核心特性:交易在 commit 前不會寫入資料庫(No-UNDO),且 commit 後必須確保資料寫入(REDO)。搭配「查核點(Checkpoint)」機制,只需尋找查核點之後 commit 的交易進行 REDO,未 commit 的交易直接忽略,查核點前已 commit 的交易亦無需處理。

🤖
AI 詳解 AI 專屬家教

【破題】本題考查資料庫復原機制中「延遲更新協定(Deferred Update Protocol)」與「查核點(Checkpoint)」之運作原理。延遲更新協定屬於 No-UNDO/REDO 演算法,只有在交易發出 commit 後,才會將更新實際寫入資料庫磁碟中。 【論述】 根據延遲更新協定與查核點的特性,系統當機重啟後,各交易的處置方式與理由分析如下:

▼ 還有更多解析內容
📝 延遲更新復原機制
💡 延遲更新協定下,系統恢復僅需執行 REDO 而不需 UNDO。
比較維度 延遲更新 (Deferred) VS 立即更新 (Immediate)
復原演算法 No-UNDO / REDO UNDO / REDO 或 UNDO/No-REDO
未 Commit 處理 不須處理 (Ignore) 必須復原 (UNDO)
磁碟寫入時機 僅在 Commit 之後 Commit 前即可能寫入
💬延遲更新簡化了復原程序(免除 UNDO),但交易需暫存在 Buffer 中直至 Commit。
🧠 記憶技巧:延遲無 UNDO;CP 前完成免 REDO;CP 後有 Commit 才 REDO。
⚠️ 常見陷阱:容易混淆「延遲更新」與「立即更新」。在延遲更新下,未完成交易因資料未實際入碟,故不須執行 UNDO。
立即更新協定 (Immediate Update) ACID 特性之 Durability 交易日誌 (Transaction Log)

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

資料庫交易管理:並行控制、回復與隔離性
查看更多「[資訊處理] 資料庫應用」的主題分類考古題