原理讲解:

​Write Ahead logging vs command logging​

Write Ahead logging

  • 持久化数据保存在磁盘,数据的存储是随机的,并非顺序;
  • 内存中保存磁盘数据的快照;

修改数据操作

  1. ​修改内存数据,并不直接修改磁盘数据​​​,并将修改记录写入到磁盘,即:​​磁盘存储的是修改记录​​;
  2. 修改记录是​​追加​​的方式写入的,即:磁盘是顺序读写的;
  3. 而后根据修改记录日志,慢慢的修改磁盘上的数据(​​磁盘数据是随机的,读写性能比日志记录的顺序读写要差很多​​)

日志存储的内容

  • Write-AHead Logging:存储的是command执行后的结果;
  • Command Logging: 存储的是命令;