調查局三等申論題
105年
[資訊科學組] 資料庫應用
第 三 題
假設有 4 筆同步執行的交易(transactions),其執行狀態如下圖,其中,「 」代表交易開始執行,「 」代表該交易執行中,「 」代表該交易正常結束執行;Tc1 與 Tc2 表示資料庫系統執行檢查的兩個時間點(checkpoint),Tf 則是表示在該時間點時,資料庫系統發生故障(system failure)。請問要用何種機制,來達成資料庫系統的回復(Recovery)?請詳細說明此機制如何運作,以及分別在各時間點上,應該進行那些事項與訊息紀錄,並說明每一筆交易在發生系統故障(Tf)後,該進行何種動作?(25 分)
時間軸 Tc1 Tc2 Tf
T1
T2
T3
T4
時間軸 Tc1 Tc2 Tf
T1
T2
T3
T4
📝 此題為申論題
思路引導 VIP
本題考查資料庫復原機制(Recovery)與檢查點(Checkpoint)技術的應用。看到此題應先定位最近的檢查點(Tc2),分析在 Tc2 時活躍的交易,以及在 Tc2 至 Tf 之間發生 Commit 的交易。接著運用 Undo/Redo 法則:未 Commit 的交易需撤銷(Undo),已 Commit 但在最近 Checkpoint 之後結束的交易需重做(Redo),在最近 Checkpoint 之前已 Commit 的交易則無需動作。
🤖
AI 詳解
AI 專屬家教
【破題】 本題測驗資料庫發生故障時的回復技術。應採用基於日誌的復原機制配合檢查點技術(Log-based Recovery with Checkpoint),並搭配立即更新(Immediate Update)策略,利用 Undo/Redo 規則確保資料庫的交易一致性(ACID)。 【論述】
▼ 還有更多解析內容