跳到主要内容
uencoder

Write-Ahead Log

预写日志(WAL)将修改先持久化到追加日志再应用到数据页,保证崩溃后可重做恢复。

用途

实现事务持久性与崩溃恢复的基石,是所有关系数据库的核心机制。

机制

事务修改先写日志(LSN + 变更内容)并 fsync,再修改内存页。崩溃后重放日志重做已提交事务(redo)并回滚未提交(undo)。检查点截断旧日志。

用例

  • 崩溃恢复设计
  • 事务持久性
  • 数据库内核

相关工具

参考链接