首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库为什么可以在不考虑不一致的情况下使用逻辑日志进行撤消操作?

数据库为什么可以在不考虑不一致的情况下使用逻辑日志进行撤消操作?
EN

Stack Overflow用户
提问于 2012-12-25 02:56:04
回答 1查看 1.2K关注 0票数 4

对于单个数据库操作,它可能会影响多个页面。例如,插入操作可能导致分页。因此,数据库不使用逻辑日志进行重做操作,因为考虑的不一致(A操作影响两个页面,当系统崩溃时只有一个页面被刷新到数据中)。他们总是使用生理日志或物理日志进行重做手术。但在白羊座算法或一些数据库(例如。),它们使用逻辑日志进行撤消,这种操作可能会影响多个页面。他们为什么能这么做?当只将一些受撤消操作影响的页面刷新到磁盘,并且系统再次崩溃时,它们如何保证回滚的正确性?

EN

回答 1

Stack Overflow用户

发布于 2016-06-19 21:55:50

Aries也会记录恢复操作,因此恢复期间的崩溃问题(您的最后一个问题)与撤销的逻辑日志问题是正交的。一个操作可能会影响多个页面这一事实本身并不会导致一致性问题。

我认为理论上您也可以使用逻辑日志进行重做(“重做和撤消操作可以在原始白羊座纸中逻辑地执行”),但是物理上最大的好处是它是幂等的。撤销协议确保操作不会被执行超过一次。

逻辑日志有一些优点(与物理日志相比):

  • 节省空间
  • “能够执行逻辑取消服务可以支持更高级别的并发性”
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14027308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档