Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

https://www.cnblogs.com/xuwc/p/14037750.html

  • 在使用 WAL 的系统中,**所有的修改在提交之前都要先写入 log 文件中(写入log文件是写入永久存储)**。log 文件中通常包括 redo 和 undo 信息
  • 使用 WAL 的数据库系统不会再每新增一条 WAL 日志就将其刷入数据库文件中,一般**积累一定的量然后批量写入(checkpoint)**,通常使用「页」为单位,这是磁盘的写入单位
    • 一方面 WAL 中记录事务的更新内容,通过 WAL 将随机的脏页写入变成顺序的日志刷盘
    • 另一方面,WAL 通过 buffer 的方式改单条磁盘刷入为缓冲批量刷盘
    • 再者从 WAL 数据到最终数据的同步过程中可以采用并发同步的方式

    这样极大提升数据库写入性能,因此,WAL 的写入能力决定了数据库整体性能的上限,尤其是在高并发时

评论