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

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

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

1.Debezium

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

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

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

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字符串,不需要再编写客户端。

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

4.DataPipeline        

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

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

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。

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

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

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

》。

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

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

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

你可能感兴趣的:(oracle实时同步)