Elasticsearch和数据库保持同步的方式及原理

上一篇 << 下一篇 >>>Logstash-input-jdbc实现ES和数据同步操作步骤


1.同步方式

Logstash实现ES与数据库同步:使用定时器方式 、实现简单
MQ实现ES与数据库同步:实时性、复杂性更高、一致性强

2.logstash-input-jdbc同步原理

定时执行一个sql,然后将sql执行的结果写入到流中,
一般的递增字段有两种,AUTO_INCREMENT 的主键id和ON UPDATE CURRENT_TIMESTAMP的update_time字段,
id字段只适用于那种只有插入没有更新的表
update_time更加通用一些,新增和修改的时候都会更改此记录

第一次发送sql请求的时候,修改时间参数值是为系统最开始的时间是1970年,可以查询到所有的数据,然后将最后一条数据的update_time修改时间值记录下来,作为下一次修改时间查询的条件值。
第一条SELECT * FROM user WHERE update_time >='1970'
第二条 SELECT * FROM user WHERE update_time >='2019-07-01 16:18:13


推荐阅读:
<< << << << << << << << <<<正向索引和倒排索引区别
<< << << << << << << <<

你可能感兴趣的:(Elasticsearch和数据库保持同步的方式及原理)