MYSQl 深入探索系列一 redo log

本文详细探讨了MySQL中的redo log,包括其定义、存储结构、作用和写入策略。redo log作为事务重做日志,记录了事务对InnoDB存储引擎的数据页所做的更改,用于在系统崩溃时恢复数据。在内存中以block结构存储,由header、body和trailer组成,并在特定条件下刷入磁盘。其主要作用在于确保事务的原子性和持久性。
摘要由CSDN通过智能技术生成

目录

  1. 什么是redo log,记录了那些东西

  2. redo log 存储结构是怎样的

  3. redo log 作用是什么

  4. 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 存储的数据结构来看,大致可以猜应该是用来做数据恢复&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值