Elasticsearch和MySQL数据同步(logstash-input-jdbc)全量增量方式同步近千万数据

本文介绍了多种MySQL到Elasticsearch的数据同步方案,包括同步读写、异步双写、定时器程序、binlog日志等。重点讨论了使用logstash-input-jdbc插件实现全量和增量同步,详细阐述了配置与测试过程,以及在大规模数据同步中遇到的问题和解决方案。测试环境中,成功同步近千万条数据。
摘要由CSDN通过智能技术生成

同步方案:

  • 同步读写:最为简单的方式在将数据写到mysql时,同时将数据写到ES,实现数据的双写。
  • 异步双写(MQ方式):MQ的性能基本比mysql高出一个数量级,所以性能可以得到显著的提高。
  • 定时器程序:相关表中增加一个字段为timestamp的字段,任何crud操作都会导致该字段的时间发生变化,原来程序中的CURD操作不做任何变化;增加一个定时器程序,让该程序按一定的时间周期扫描指定的表,把该时间段内发生变化的数据提取出来;逐条写入到ES中。
  • binlog日志:读取mysql的binlog日志,获取指定表的日志信息。将读取的信息转为MQ,编写一个MQ消费程序,不断消费MQ,每消费完一条消息,将消息写入到ES中。
  • logstash全量、增量同步解决方案logstash-input-jdbc插件,能实现mysql数据全量和增量的数据同步,且能实现定时同步,版本更新迭代快,相对稳定。作为ES固有插件logstash一部分,易用
  • go-mysql-elasticsearch:其由go语言开发
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼找水需要时间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值