searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

MySQL binlog 多线程回放实现

2024-09-05 09:26:36
1
0

binlog的回放效率是数据同步的瓶颈,需要设计一种机制保证重放binglog尽量的并行,并且还能保证一致性。

解析binlog,存放到一个有限长度队列里,当队列长度满足数量或者时间满足了,根据UK是否冲突,将队列里记录分配到一个分组里,每个分组里时序和binlog原始顺序一致,将每个分组, 放到不同的队列去处理,每个线程消费一个队列。

这里的update的处理需要特别的注意,update 涉及到UK的变化,需要拆分到原子的操作,delete和insert。

语句

处理后

insert

insert

delete

delete

update

delete

insert

0条评论
0 / 1000
卢****雨
5文章数
0粉丝数
卢****雨
5 文章 | 0 粉丝
原创

MySQL binlog 多线程回放实现

2024-09-05 09:26:36
1
0

binlog的回放效率是数据同步的瓶颈,需要设计一种机制保证重放binglog尽量的并行,并且还能保证一致性。

解析binlog,存放到一个有限长度队列里,当队列长度满足数量或者时间满足了,根据UK是否冲突,将队列里记录分配到一个分组里,每个分组里时序和binlog原始顺序一致,将每个分组, 放到不同的队列去处理,每个线程消费一个队列。

这里的update的处理需要特别的注意,update 涉及到UK的变化,需要拆分到原子的操作,delete和insert。

语句

处理后

insert

insert

delete

delete

update

delete

insert

文章来自个人专栏
binlog
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0