binlog的日志组引入 和undolong的删除机制

binlog的日志组引入
引入原因
bingLog、redolog的刷盘操作 是mysql并发写的瓶颈所在
最大化每次刷盘的收益,弱化磁盘瓶颈,提高性能
引入时间
是 5.7版本时,为了优化、缩小半同步复制时同步的粒度 而引入的
引入之前只能以库为粒度去同步、引入以后多个事务为一个组、每次同步一个组内的事务里的改动

具体过程

过程分三个阶段
每个阶段都有一个队列存储 所处于当前阶段的事务
并且每个队列都有一把锁保护
	主从复制时加锁
队列里的第一个元素 是整个队列的leader
	统一 负责维护整个队列里事务的操作
	负责把命令、命令执行结果 通知给组内成员
一个组里有多个事务的数据改动

undolong的删除机制

insert类型
	事务提交后,直接清除
update类型
	事务提交后,移入垃圾链表里
		当一致性视图的版本链里不再包含当前事务修改的版本时才会删除它
		即:只有当readview的版本链里中不存在这个事务的事务id时才能被删除
```![在这里插入图片描述](https://img-blog.csdnimg.cn/549cbfc419c7415fb881f946531abf6c.png)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值