MySQL实战45讲学习笔记:第二讲

一、redo log工作原理

生意红火的时候酒店老板思路mysql设计思路
1.先写到粉板上面1.WAL(Write-Ahead Logging) 先写日志
2.等打烊后账本翻出来核算2.WAL(Write-Ahead Logging) 在写磁盘
今天账特别多粉板写满了1.把黑板上一部分账单更新到账本1.当 checkpoint被追上的时候,不执行更新操作 停下来处理一些记录 推进checkpoint
2.把那些记录擦掉2.从头开始写 循环写

有了redo log InnoDB就可以保证即使数据库发生异常重启,之前提交的记录都不会丢失,这个能力称为 crash-safe

二、重要的日志模块:binlog

1.和redo log的区别

redo是物理的,binlog是逻辑的;现在由于redo是属于InnoDB引擎,所以必须要有binlog,因为你可以使用别的引擎

redo logbinlog
InnoDB 引擎独有mysql server层实现的,所有引擎都可以使用
物理日志,某个数据页做了什么修改(存储了数据被修改的值)逻辑日志,记录语句的原始逻辑
循环写,空间固定会用完追加写入,不覆盖原有日志

三、Update语句执行流程

四、两阶段提交

1、保证数据库的一致性:

必须要保证2份日志一致,使用的2阶段式提交;其实感觉像事务,不是成功就是失败,不能让中间环节出现,也就是一个成功,一个失败
如果有一天mysql只有InnoDB引擎了,有redo来实现复制,那么感觉oracle的DG就诞生了,物理的速度也将远超逻辑的,毕竟只记录了改动向量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值