MySQL WAL

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11447794.html

 

WAL: Write-Ahead Logging

先写日志,再写磁盘。具体说,当有一条记录需要更新的时候,InnoDB引擎就会先把记录写到redo log里面,并更新内存,这个时候更新计算完成了。同时InnoDB引擎会在在系统比较空闲的时候,将这个操作记录更新到磁盘里。

 

WAL机制主要得益于两个方面
redo log 和 binlog 都是顺序写,磁盘的顺序写比随机写速度要快;
组提交机制,可以大幅度降低磁盘的 IOPS 消耗。

 

只要redo log和binlog保证持久化到磁盘,就能确保MySQL异常重启后,数据可以回复。

redo log保证事务的持久性
undo log保证事务的一致性

 

Reference

https://time.geekbang.org/column/article/76161

 

posted @ 2019-09-02 17:32  李白与酒  阅读(1437)  评论(0编辑  收藏