Elasticsearch和MySQL数据同步(logstash-input-jdbc)全量增量方式同步近千万数据
2023-09-27 14:29:07 时间
同步方案:
- 同步读写:最为简单的方式在将数据写到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语言开发,使用
mysqldump
命令处理现有存量数据,并借助binlog
的方式跟踪增量数据,从而保证 Elasticsearch 的数据和 MySQL 数据库中的数据保持同步 - mysqlsmom:·
相关文章
- MySQL 异步复制、半同步复制、增强半同步复制(史上最全)
- solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)
- MySQL(四)—— 数据表的约束(外键约束,主键约束等)
- MySQL第九讲 MySQL集群主从搭建指定数据库同步数据
- elasticsearch对比mysql以及使用工具同步mysql数据全量增量
- MySQL中MyISAM和InnoDB
- 面向生产环境的 MySQL 同步到Redis,ClickHouse等服务的异构中间件
- 四、MYSQL数据类型
- SQL Server 数据导入Mysql详细教程
- 有用的mysql语句
- mysql分组用法
- 《SQL初学者指南(第2版)》——1.2 Microsoft SQL Server、MySQL和Oracle
- 基于Java(Spring+SpringMVC+Mybatis)+MySQL实现(Web)校园二手交易平台【100010270】
- MySQL基础之 日期时间函数
- MySQL基础之 LIKE操作符
- mysql截取字符串与reverse函数
- 【Docker】Docker安装MySQL,并解决中文乱码和配置数据备份同步到宿主机
- Mysql B+树索引的推演
- 自增还是UUID?数据库主键的类型选择,为啥不能用uuid做MySQL的主键?
- MySQL数据的主从复制、半同步复制和主主复制详解-转
- MySQL基础(视图及索引)
- MySQL 5.7双主同步部分表
- 阿里开源中间件canal实现mysql数据库同步,零侵入不写代码实现,也可以通过整合到项目程序实现更加灵活的控制,简单几步实现高性能准实时多数据库多数据表的数据同步,可在windows和Linux部署
- 使用Springboot+MybatisPlus+Echarts+Mysql从0-1完成中国地图可视化动态展示
- [Mysql] 聚合函数