數據庫恢復子系統的常見技術和方案對比(二)

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"上一篇文章《"},{"type":"link","attrs":{"href":"http:\/\/mp.weixin.qq.com\/s?__biz=MzIzNzU0ODEwOA==&mid=2247491135&idx=1&sn=371a83c1e6a248a880b1c70fb4de0f8a&chksm=e8c7b91cdfb0300ad9d2ede79cd344415f061710c76d3e588cf8d08d5e9eeb8b5a96fdcde6b0&scene=21#wechat_redirect","title":"","type":null},"content":[{"type":"text","text":"數據庫恢復子系統的常見技術和方案對比(一)"}]},{"type":"text","text":"》中,我們基本介紹了數據庫管理系統中的Logging & Recovery恢復子系統,詳細討論了基於Physical Logging的主流恢復算法ARIES的概念和技術實現。本文將華師大宮學慶教授關於介紹Logical Undo Logging 的原理以及兩種數據庫系統SQL Server(Azure)和Silo的恢復技術的介紹分享給大家。"}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Logical Undo Logging "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在上篇文章中,我們簡單介紹了Early Lock Release的優化思路:通過將索引上的Lock提前釋放以提高併發程度,但同時會在事務之間產生依賴關係,導致級聯回滾。比如第一個事務已經釋放鎖,但在刷日誌時出現故障需要回滾,此時鎖已被下一個事務獲得,那下一個事務要和前面的事務一起回滾,極大地影響系統性能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基於這樣的情況,恢復系統中引入了Logical Undo Logging,在一定程度上解決了上述問題。Logical Undo Logging的基本思想是在事務回滾時撤銷修改操作,而不是對數據的修改,如插入的撤銷是刪除,對數據項+1的撤銷是對數據項-1。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章