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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM