Database Internals

5. 事务处理与恢复

节点内部:

  • 事务管理器

    • 协调

  • 锁管理器

  • 页缓存

  • 日志管理器

    • 记录已经应用到缓存上但未同步到盘的操作

缓存管理

disk -> page in -> buffer-> write -> dirty page -> flush -> disk

检查点程序协调WAL和页缓存工作, 当缓存页flush后, 相关的日志才能从WAL中删除, 然后才能将脏页换出.

CLOCK-sweep页换出算法, 可以看做是LRU的一个紧凑, 缓存友好, 并发性好的替代.