每分钟54万多条数据更新,商品系统性能如何优化?

面对每分钟54万多条数据更新导致的数据库同步延迟问题,文章分析了商品系统数据库的更新模式,提出通过解析Binlog、统计字段更新有效性来优化。通过分析表的字段组合及更新次数,确定有效和无效更新,优化代码以减少无效更新和Binlog生成,从而减轻下游系统压力。此外,该方法还适用于评估数据库设计和提供缓存优化策略。
摘要由CSDN通过智能技术生成

背景介绍

2020年6月,商品系统从SAP、中间层等接入的商品数据越来越多且更新频繁,商品数据库主从更新数据量大,约每分钟54万多条更新,约八分钟就会产生大于1G的Binlog文件,在数据库IO能力一定的情况下,发生数据同步延迟,影响写入与读出的及时性,进而影响到商品基础系统的可用性。

如果仅是从翻阅代码的角度去分析,会花费大量人力。抛开系统本身,当商品多个应用都在读写商品库,并在数据库层起到数据汇总和集中反馈的情况下,分析这个点是一个较好的方向。

分析模型

把Binlog解析成Sql 纯文本,解析出来的Sql文本 样例如下:

观察解析出来的文本,判断是否是有效更新,关键在于找到实际更新的是哪些字段。即: WHERE块中 和SET块 中 哪些字段上有值的更新。

通过对比发现:

实际只更新了 第 7 和 8 号 的时间字段,如果没有刷新其他值,只是刷新了时间,估计这条更新语句没什么意义&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值