原理讲解:
Write Ahead logging vs command logging
Write Ahead logging
- 持久化数据保存在磁盘,数据的存储是随机的,并非顺序;
- 内存中保存磁盘数据的快照;
修改数据操作
-
修改内存数据,并不直接修改磁盘数据
,并将修改记录写入到磁盘,即:磁盘存储的是修改记录
; - 修改记录是
追加
的方式写入的,即:磁盘是顺序读写的; - 而后根据修改记录日志,慢慢的修改磁盘上的数据(
磁盘数据是随机的,读写性能比日志记录的顺序读写要差很多
)
日志存储的内容
- Write-AHead Logging:存储的是command执行后的结果;
- Command Logging: 存储的是命令;