oracle实时同步_实时数据同步工具那么多,我们应该怎么选?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-23 07:30   47   0

012211248d0fd3892d56916621b7e533.gif

因为项目选项需要,最近了解了一下几款实时数据同步工具,在此做一个简单介绍和对比,给大家一个参考。

1.Debezium

Debezium是RedHat开源的一个将多种数据源实时变更数据捕获,形成数据流输出的工具。通过安装配置Debezium监控数据库,可以实时消费行级别(row-level)的更改。身为一个分布式系统,Debezium也拥有良好的容错性。

Debezium的源端(即支持监控哪些数据库) : MySQL,MongoDB,PostgreSQL,Oracle,SQL Server。Debezium的目标端(即可以数据导入端) 支持Kafka,是一款功能非常强大的开源软件。

56bb0d18d69b84d0f17b1efdc0dfe1ac.png

2.MaxWell

Maxwell是一个能实时读取MySQL二进制日志binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。它的常见应用场景有ETL、维护缓存、收集表级别的dml指标、增量到搜索引擎、数据分区迁移、切库binlog回滚方案等。Maxwell的特点是简单好用。

官网(http://maxwells-daemon.io)、GitHub(https://github.com/zendesk/maxwell)。

3.Canal

Canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。

Canal 分为服务端和客户端,拥有众多的衍生应用,性能稳定,功能强大;canal 需要自己编写客户端来消费Canal解析到的数据。maxwell相对于canal的优势是使用简单,它直接将数据变更输出为json字符串,不需要再编写客户端。

5525aa37979b98711db7f6ce8f799c17.png

4.DataPipeline

DataPipeline是一款商业软件, 是一款批流一体数据融合平台,无需任何代码,通过可视化图形配置界面只需 5 分钟即可自服务部署一条实时数据管道,并提供丰富的管理功能:数据的批流一体处理、API 数据接入、数据质量管控、数据任务流管理,可视化运维管理、错误队列管理、用户管理、元数据管理等,帮助客户实现高效地连接复杂的异构数据源和目的地,大数据量高并发数据同步,可视化实时监测保障数据质量等价值,为客户灵活的数据消费需求提供强有力的技术驱动。

e3b53dc86b426d71aa55f530792caa3d.png

5.Flink

Apache Flink是一个面向数据流处理和批量数据处理的可分布式的开源计算框架,它基于同一个Flink流式执行模型(streaming execution model),能够支持流处理和批处理两种应用类型。由于流处理和批处理所提供的SLA(服务等级协议)是完全不相同, 流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理,所以在实现的时候通常是分别给出两套实现方法,或者通过一个独立的开源框架来实现其中每一种处理方案。

Flink1.11引入了CDC的connector,通过这种方式可以很方便地捕获变化的数据,大大简化了数据处理的流程。Flink1.11的CDC connector主要包括:MySQL CDC和Postgres CDC,同时对Kafka的Connector支持canal-json和debezium-json以及changelog-json的format。

080eef54b1cd7286fb36cffe1ccc27de.png

总体来说,以上五个工具都有非常普遍的使用范围,其中Flink在最近的版本才支持CDC解析,所以目前应用还不算广泛。从数据同步的角度来看,还是建议优先使用比较稳定的Debezium或者MaxWell,其次是DataPipeline和Canal。在实际的项目中,比较激进的公司可以已经完成去IOE,没有Oracle或者Sql SERVER数据库了,但是实际大部分公司还是保留了一定的商业数据库。如果碰到DB2或者HANA之类的商业数据库不支持CDC日志,需要考虑其他方案,比如触发器增量(只能做到准实时,做不到完全实时)。关于触发器增量,详情可以看我的另外一篇文章《

全世界排名第一的业务系统SAP怎么做增量接口?看完这篇文章你就明白了 蚂蚁,公众号:数据中台研习社全世界排名第一的业务系统SAP怎么做增量接口?看完这篇文章你就明白了

》。

14157afc14edb12f23f13c6469fd10ee.png

《数据中台研习社》微信群,请添加微信:laowang5244,备注【进群】

?分享、点赞、在看,给个三连击呗!?

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP