ElasticSearch 对端同步技术详解
· 阅读需 5 分钟
简介
CloudCanal 对于 Elasticsearch 的支持经历了很多轮迭代,版本一路从 6.x,7.x 支持到 8.x 版本,也适配了其纷繁多样的 API。
因为 Elasticsearch 是一个相当流行的、实时的、并且具备一定不可替代能力的搜索引擎,所以很有必要对比下市面上我们能够比较容易获得的、免费的数据迁移同步工具,让大家落地实时数据搜索和分析更加有信心。
本文即从一个比较窄但是应用广泛的场景 - MySQL 到 Elasticsearch 数据同步技术 - 切入,比较不同技术的优劣和相关技术细节,最后给到一些展望。
Elasticsearch 数据迁移同步技术对比
目前能够比较容易获得的、免费的、并且有一定应用范围的数据迁移同步工具有:Logstash 和 FlinkCDC,CloudCanal 也算其中之一。
一些对比如下表(如有错误,可联系笔者进行修改)。
| Logstash | FlinkCDC | CloudCanal | |
|---|---|---|---|
| 产品化 | 基础 | 基础 | 完备 |
| 高可用 | 有 | 有 | 有 |
| 任务创建 | 配置文件 | 配置文件 + 代码 | 可视化 |
| 监控告警 | 基础 | 基础 | 完备 |
| 索引(结构)迁移 | 无 | 无 | 有 |
| 全量迁移 | 有 | 有 | 有 |
| 实时同步 | 有 | 无 | 有 |
| 数据校验 | 无 | 无 | 有 |
| 索引结构同步(DDL) | 无 | 无 | 有限(加列) |
| 索引定义依赖 | 否 | 否 | 是 |
| 数据源插件(原厂) | 一般 | 一般 | 丰富 |
| 数据源插件(社区) | 丰富 | 一般 | 无 |
| 供应商 | 原厂 | 第三方 | 第三方 |
| 获取方式 | 开源 | 开源 | 免费社区版 |
综合来看,各个产品各有特点,并且有自己的局限性。
Logstash 和 FlinkCDC 更多偏向社区,但是他们背后庞大的商业产品体系(分别对应 ElasticSearch 和 阿里云 MaxCompute & Dataworks)注定两者定位仅仅是支撑工具。
CloudCanal 更加偏商业化些,但是背后公司以此谋生。
