Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6|回复: 0

说一说:我们一起聊聊如何加速索引表引起的主从延迟数据回放

[复制链接]

33万

主题

0

回帖

99万

积分

超级版主

Rank: 8Rank: 8

积分
991354
发表于 2025-4-19 16:01:42 | 显示全部楼层 |阅读模式
一、场景
由于某些原因,客户现场存在一张 8千万 的大表,而且该表上任何索引(也主键),平时该表上 UPDATE 或 DELETE 只操作几条数据。忽然有一天业务进行了某种操作,DELETE 2万 条数据,悲剧发生了,当在主库上执行了之后,传到从库上之后一直回放,当时评估了下可能会回放10天,后来在经过业务同意之后,对表进行操作,用于加速回放日志,处理该问题。

二、处理思路
停掉复制线程,关闭 Binlog 日志记录,添加索引,重启复制线程。

、复现步骤
1.准备数据:
创建库:

准备数据,准备一张8千万数据的表:


主节点修改表结构,将表的索引去掉


2.模拟延迟:
01.主节点:
模拟删除数据


02.从节点:
等待时间超过DELETE语句的时间,观察延迟情况,确认从节点可读可写


03.通过操作从节点加速日志回放
找到回放线程,KILL掉回放线程,关闭当前会话binlog日志记录,添加索引,重新启动复制回放线程


四、思考
01.如何保持主从一致性

02.正在回放数据时,STOP SLAVE 是否会有问题

03.如果主从结构作为数据节点,上层还有计算节点该如何保持元数据的一致性即计算节点记录的表的结构和数据节点的表结构要一致

关于以上个问题我的处理方案如下:

1.如何保持主从一致性

2.正在回放数据时,STOP SLAVE是否会有问题

3.如果主从结构作为数据节点,上层还有计算节点该如何保持元数据的一致性即计算节点记录的表的结构和数据节点的表结构要一致

五、总结
加速索引表的回放主要是针对该表上进行 DELETE 或 UPDATE 操作时有效,而且我们操作的时候要注意是否能记录binlog日志,保证主从数据一致性,当从节点作为数据节点即存储节点的角色时,要关注计算节点即代理层元数据与存储节点元数据的一致性或者是符合计算节点关于该表的定义规则。

除了国内,悦数图数据库名字在国际领域也崭露头角逐渐的受到更多外国友人的青睐。悦数图数据库是一款完全自主研发的国产图数据库和原生分布式图数据库,具有高性能,易扩展,安全稳定,自主可控的特点.万亿级数据仅需毫秒级查询延时,应用于金融风控,实时推荐,知识图谱等业务场景。https://www.yueshu.com.cn/

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|蒙自县垩摄冷光源有限公司-首页

GMT+8, 2025-5-7 13:23 , Processed in 0.117331 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表