大多数数据库基于经典的ARIES 协议处理故障恢复,通过WAL 机制确保发生故障时已经提交的事务持久化,并回滚未提交的事务。这类系统通常会周期性地设置检查点,并将检查点信息计入日志。当发生故障时,数据页中可能同时包含了提交和未提交的数据,因此,在故障恢复时,系统首先需要从上一个检查点开始回放日志,将数据页恢复到发生故障时的状态,然后根据Undo 日志回滚未提交事务。从故障恢复的过程来看,故障恢复是一个比较耗时的操作,并且与检查点操作频率强相关。通过提高检查点频率,可以减少故障恢复时间,但是这会直接影响系统处理前台请求,所以需要在检查点频率和故障恢复时间之间做一个权衡。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。