Elasticsearch聚合查询,提高系统查询、导出性能

「扫码关注我,面试、各种技术(mysql、zookeeper、微服务、redis、jvm)持续更新中~」
在这里插入图片描述

随着业务的发展,线上生产环境数据量猛增,财务信息一个表的数据自从2008年系统上线以来已接近7千万,而且现在每天的增量也越来越快,由于业务中存在退费场景,所以历史财务数据也不容易归档处理。但是财务应用场景中含有大量的查询和导出,显然,将财务数据都存储在Mysql(建议单表数据量不超过2千万)中已经满足不了实际应用场景。

如何解决财务数据的查询和导出问题成为我们必须解决的一个难题,经过技术选型,我们最终选择了数据依然存储在Mysql(需要支持事务)中,使用ES来聚合数据进行查询。

那如何将数据从Mysql同步到ES并保证数据一致性是重点。一共梳理出来以下几种同步方式:
1.数据库建触发器方式,但是影响系统性能;
2.对数据行进行MD5加密对比,也会影响系统性能;
3.采用MQ方式增量新增,但增加了系统复杂度,同时需要保证MQ精准投递、消费;
4.根据时间戳定时任务同步,但是需要保证时间戳实时更新;
5.利用cancel监听binlog动态新增,但是存在cancel单点问题,同时系统复杂度会增高。

经过和运维沟通,采用binlog方式同步,由于涉及到老数据源(按照分校分库)太多

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值