读书笔记:事务信息系统(下)

Posted on 2014-11-17 13:16  blesslyy  阅读(319)  评论(0)    收藏  举报

下半部分其实包括两个主题:recovery和分布式事务,另外还包括一部分扩展内容,点到为止的谈谈未来系统

recovery

在事务系统中的recovery基本包括两个内容:

  • redo:如果系统挂了,且事务已经提交了,那么把没有刷盘的事务刷盘。
  • undo:如果系统挂了,且事务没有提交或者abort了, 那么把做了事情还原,正常运行时abort的操作类似。
    在recover的过程中需要考虑很多事情,比如recover的过程也挂了,比如如何减少recover的时间,如何减少io,如果把操作都变成dengmi
    万变不离其宗,无论系统有多少日志,以什么形式存在,他们都是这两种日志的变体。
    这个基础上要处理btree节点的分裂以及大对象问题。
    有意思的是undo的处理,是把他转换成redo的方式进行的。
    一个重要的点就是checkpoint,这才是redo/undo方式可以使用的基石,有了这个才能定期干掉多余的日志。怎样在不影响性能的情况下完成checkpoint是一个系统成功与否的重要量度。

分布式事务

分布式事务的核心还是2pc,即两阶段提交,各个节点都需要写日志,完成崩溃时的处理,当然不能保证一定成功或者失败,理论上是有可能即不成功也不失败。
变种主要是树形协议,可以在多个异构的数据系统中实现一致性。

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3