数据库恢复子系统的常见技术和方案对比(二)

{"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}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章