红书推荐系列(八):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的恢复算法分为三步:
- Analysis pass:分析日志。
- Redo pass:还原所有日志记录的操作。
- Undo pass:在redo pass执行完后,如果还有事务处于未提交状态,就执行undo操作。
大概就是这样,具体细节网上博客写的挺好的,我现在就不细写了。
其它
Paper内容不仅仅要关注aries算法,还有许多比对内容值得学习,但是由于时间安排问题,近期就先咕一下。

浙公网安备 33010602011771号