資料庫管理系統(DBMS)中的影子分頁是什麼?
影子分頁是用於從故障中恢復的技術之一。我們都知道,恢復意味著找回丟失的資訊。它有助於在發生故障時保持資料庫的一致性。
影子分頁的概念
現在讓我們一步一步地瞭解影子分頁的概念:
步驟 1 - 頁面是記憶體的一段。頁表是頁面的索引。每個表項指向磁碟上的一個頁面。
步驟 2 - 在事務的生命週期中使用兩個頁表:當前頁表和影子頁表。影子頁表是當前頁表的副本。
步驟 3 - 當事務開始時,兩個表看起來相同,當前表會為每個寫操作進行更新。
步驟 4 - 在事務的生命週期中,影子頁不會更改。
步驟 5 - 噹噹前事務提交時,影子頁表項成為當前頁表項的副本,並且釋放包含舊資料的磁碟塊。
步驟 6 - 影子頁表儲存在非易失性記憶體中。如果系統崩潰,則影子頁表將被複制到當前頁表。
影子分頁的示意圖如下:
優點
影子分頁的優點如下:
- 不需要日誌記錄。
- 不需要撤銷/重做演算法。
- 恢復速度更快。
缺點
影子分頁的缺點如下:
資料碎片化或分散。
垃圾收集問題。包含修改資料的舊版本的資料庫頁面需要在每次事務後進行垃圾收集。
併發事務難以執行。
廣告