Canal实现Mysql和ES数据同步

本文介绍了如何使用Elasticsearch(ES)进行海量数据搜索,并探讨了Mysql到ES数据同步的三种方案,重点讲解了通过监听binlog的方式,特别是使用Canal这一开源工具实现数据同步的原理和步骤,包括开启MySQL主从、设置用户权限、安装Canal及配置Canal客户端等。

1.ES概述

  ES全称为"ElasticSewrch", 是一个基于RESTful web接口, 并且构建在Apache Lucene之上的开源分布式搜索引擎。

  ES可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。

  简单来说, ES可以帮助我们快速完成海量数据的搜索工作。

  2.场景介绍

  在实际开发中,为了保证数据的安全性和持久性, 所以,我们一般会把数据存储的数据库中, 比如mysql数据库。

  但, 如果数据量比较大, 并且搜索业务比较多, 则需要使用ES来实现我们的搜索功能。

  而ES所实现的搜索, 需要把数据放入ES中, 才能实现, 所以, 就需要我们把mysql中的数据, 同步到ES中才可以。

  3.实现方案

  实现Mysql与ES之间的数据同步, 大体上可以分为三种方案:

  方案一:同步调用

 

  方案二:异步通知

  

  方案三:监听binlog

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值