延遲更新vs即時更新
延遲更新和即時更新是數據庫管理系統(DBMS)事務日誌文件維護的兩種技術。事務日誌(也稱為日誌日誌或重做日誌)是存儲事務ID、事務的時間戳、數據的舊值和新值的物理文件。這允許DBMS在每個事務前後跟蹤數據。當事務被提交併且數據庫返回到一致狀態時,可能會截斷日誌以刪除已提交的事務。
延遲更新
延遲更新也稱為NO-UNDO/REDO是一種用於恢復/支持由於操作系統、電源、內存或機器故障而發生的事務失敗的技術。當事務運行時,事務對數據庫所做的任何更新或更改都不會立即完成。它們記錄在日誌文件中。記錄在日誌文件中的數據更改在提交時應用於數據庫。這個過程被稱為“重做”。在回滾時,對日誌文件中記錄的數據所做的任何更改都將被放棄;因此不會對數據庫應用任何更改。如果事務失敗並且由於上述任何原因而未提交,則丟棄日誌文件中的記錄並重新啟動事務。如果事務中的更改是在崩潰之前提交的,那麼在系統重新啟動之後,日誌文件中記錄的更改將應用於數據庫。
即時更新
即時更新也稱為撤消/重做,也是另一種用於恢復/支持由於操作系統、電源、內存或機器故障而發生的事務失敗的技術。當事務運行時,事務所做的任何更新或更改都將直接寫入數據庫。在對數據庫進行更改之前,原始值和新值都會記錄在日誌文件中。提交時,對數據庫所做的所有更改都將永久化,日誌文件中的記錄將被丟棄。回滾時,使用日誌文件中存儲的舊值將舊值還原到數據庫中。事務對數據庫所做的所有更改都將被丟棄,此過程稱為“取消執行”。當系統在崩潰後重新啟動時,所有數據庫更改都將永久性地用於提交的事務。對於未提交的事務,將使用日誌文件中的值還原原始值。
延遲更新和立即更新有什麼區別