- redolog是事务日志,记录数据库的修改操作
- redolog是物理日志(binlog是逻辑日志)
- 先写日志,再写磁盘 WAL策略
- 数据持久化 redolog
- 写入顺序 将多个修改操作合并为一次磁盘写入操作,减少随机写入的开销
- 数据恢复 重新执行redolog中记录的修改操作,mysql可以将bufferpool中的数据恢复到崩溃前的一致状态
- redolog记录修改后的值
- redolog的大小是固定的,前面的内容会被覆盖,不能用于数据回滚、数据恢复
- redolog是innodb实现的,不是所有的存储引擎都有
- 更新操作的流程
- 从存储引擎层拿到数据(磁盘),记录到buffer pool,然后返回给server层
- server层会把这个数据页里面的数据进行修改
- 调用存储引擎,记录到buffer pool
- 接着记录redolog undolog(同时进行)
redolog
保证了ACID中的持久性undolog
保证了原子性 - 提交事务
- 结合具体sql讲解