红书推荐系列(八):ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging

  这段时间有点忙,这篇paper也超长,先挖个坑,慢慢补。

  回来了。

  这篇paper有点复杂,内容可能要重复读几遍,慢慢来。

  Aries是一种数据库恢复算法,保证数据库事务的原子性和持久性。

原理

  Aries的原理比较简单,使用WAL来保证数据能够正常落盘。WAL指数据从内存写入磁盘前,修改的日志必须先写入磁盘,这样在出现failure时,数据库仍然可以通过重新执行日志记录来还原failure前的状态。

  数据库恢复算法有多种,但总体上是在failure后如何恢复有分歧。Aries的恢复算法分为三步:

  1. Analysis pass:分析日志。
  2. Redo pass:还原所有日志记录的操作。
  3. Undo pass:在redo pass执行完后,如果还有事务处于未提交状态,就执行undo操作。

  大概就是这样,具体细节网上博客写的挺好的,我现在就不细写了。

其它

  Paper内容不仅仅要关注aries算法,还有许多比对内容值得学习,但是由于时间安排问题,近期就先咕一下。

posted @ 2020-11-20 11:09  Nanachi  阅读(356)  评论(0)    收藏  举报