目录
-
什么是redo log,记录了那些东西
-
redo log 存储结构是怎样的
-
redo log 作用是什么
-
redo log 写入策略是怎样的
1 什么是redo log
简单的说 redo log 是mysql 底层存储引擎innodb的一种日志。最终是保存在磁盘的上的。
一条redo log中大致记录着有 日志类型,表空间id,数据页,数据页中的偏移量,具体修改的数据。也就是说记录了什么操作类型,操作了那个表空间的那个数据页,具体修改了那些值。
简单画个图
2 redo log 存储结构是怎样的
redo log 在硬盘中真实以 表空间id+数据页id+数据页内偏移量+修改了几个字节的数据+实际修改数据 存储的么?肯定不是了。
redo log 真正的存储结构是mysql中的一个 block 块。这个block块分为 header body trailer 三部分,body中存放的是真正的数据,头部保存的是一些元数据(比如 body中存储了多少字节的数据,当前block的id多少,redo log的组,我们一个事务可能会有多个redo log,这些个redo log是同一个组里的)
3 redo log 作用是什么
根据上面我们提到的 redo log 存储的数据结构来看,大致可以猜应该是用来做数据恢复&#