Flink CDC、OGG、Debezium等基于日志开源CDC方案对比

这篇具有很好参考价值的文章主要介绍了Flink CDC、OGG、Debezium等基于日志开源CDC方案对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先上一张图,后面再慢慢介绍:

Flink CDC、OGG、Debezium等基于日志开源CDC方案对比

CDC概述

CDC 的全称是 Change Data Capture ,在广义的概念上,只要能捕获数据变更的技术,我们都可以称为 CDC 。我们目前通常描述的CDC 技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。

CDC主要分以下两类

  • 基于查询的 CDC:优点是实现简单,是通过批处理实现的,需要依赖离线调度,不能保证数据强一致性和实时性;
  • 基于日志的 CDC:实现比较复杂,但是可以实时消费日志,流式处理,可保证数据一致性和实时性;

方案对比

目前市面上的CDC技术比较多,我们选取了几种主要的开源CDC方案做了对比,总体如下图:

Flink CDC、OGG、Debezium等基于日志开源CDC方案对比

如上图所示,从CDC机制、增量同步、断电续传、全量同步、全量+增量、架构、数据计算、生态这八个方面做了对比。可以看出其中的佼佼者主要是Flink CDC和Oracle OGG以及Debezium;

由于基于查询的CDC方案缺陷明显,这里不作讨论,下面我们对基于日志的CDC方案的优劣来做详细的介绍。

各方案优缺点

Flink CDC:Flink CDC是最近几年的新贵,Flink CDC 底层封装了 Debezium,功能比较全面,目前已经迭代到了2.4版本,社区活跃度在几个方案中是最高的;

Flink CDC、OGG、Debezium等基于日志开源CDC方案对比

  • 优点:全、增量一体的分布式数据集成框架;同步时无需加锁;吞吐量大,适合海量数据实时同步;操作简单,SQL即可完成;具有强大的 transformation 能力,通过 Flink SQL 即可完成ETL 中的数据转换;有丰富的 Connector,除关系型数据库外,HBase、ClickHouse、TiDB等也支持,而且支持自定义 connector;
  • 缺点:依赖Flink集群,数据量较大时对服务器要求较高;

Oracle OGG:Oracle OGG历史比较悠久,最初是设计用来从Oracle迁移数据到其它数据库,或者从其它平台迁移数据到Oracle,随着发展,目前已支持Mysql、Hadoop、Hive、Kafka登数据源;

Flink CDC、OGG、Debezium等基于日志开源CDC方案对比

  • 优点:支持增量和全量同步,支持分布式,高性能,支持数据过滤和转化,是目前主流的实时同步方案之一;
  • 缺点:支持的数据库比较少,像一些MongoDB、TiDB等不支持;

Debezium:Debezium最初设计成一个Kafka Connect 的Source Plugin,目前开发者虽致力于将其与Kafka Connect解耦,但当前的代码实现还未变动。下图引自Debeizum官方文档,可以看到一个Debezium在一个完整CDC系统中的位置。

Flink CDC、OGG、Debezium等基于日志开源CDC方案对比

  • 优点:支持全量+增量同步;
  • 缺点:全量同步时会加锁,而且加锁时间不确定,会严重影响业务;最重要的是跟Kafka等消息中间件强耦合,下游数据要经过Kafka;

Canal:主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。文章来源地址https://www.toymoban.com/news/detail-497813.html

  • 优点:用于单一的MySQL环境做数据同步还不错;
  • 缺点:缺点较为明显,只支持MySQL的CDC,只支持增量同步,全量需要用DataX或者Sqoop,全量和增量同步割裂;不支持分布式;

到了这里,关于Flink CDC、OGG、Debezium等基于日志开源CDC方案对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flink CDC 2.4 正式发布,5分钟了解CDC 2.4新内容,新增 Vitess 数据源,更多连接器支持增量快照,升级 Debezium 版本

    来源:https://ververica.github.io/flink-cdc-connectors/master/ Flink CDC [1] 是基于数据库的日志 CDC 技术,实现了全增量一体化读取的数据集成框架。配合 Flink 优秀的管道能力和丰富的上下游生态,Flink CDC 可以高效实现海量数据的实时集成。 具体关于Flink CDC是什么?可以看下这篇文字 作

    2024年02月12日
    浏览(36)
  • Flinkx/Datax/Flink-CDC 优劣势对比

    Flinkx/Datax/Flink-CDC 优劣势对比_HiBoyljw的博客-CSDN博客        FlinkX是一款基于Flink的分布式离线/实时数据同步插件,可实现多种异构数据源高效的数据同步,其由袋鼠云于2016年初步研发完成,目前有稳定的研发团队持续维护,已在Github上开源(开源地址详见文章末尾),并维

    2024年02月07日
    浏览(33)
  • SeaTunnel 、DataX 、Sqoop、Flume、Flink CDC 对比

    对比 对比项 Apache SeaTunnel DataX Apache Sqoop Apache Flume Flink CDC 部署难度 容易 容易 中等,依赖于 Hadoop 生态系统 容易 中等,依赖于 Hadoop 生态系统 运行模式 分布式,也支持单机 单机 本身不是分布式框架,依赖 Hadoop MR 实现分布式 分布式,也支持单机 分布式,也支持单机 健壮的

    2024年01月18日
    浏览(29)
  • SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比

    Apache SeaTunnel 是一个非常易用的超高性能分布式数据集成产品,支持海量数据的离线及实时同步。每天可稳定高效同步万亿级数据,已应用于数百家企业生产,也是首个由国人主导贡献到 Apache 基金会的数据集成顶级项目。 SeaTunnel 主要解决数据集成领域的常见问题: *  数据

    2024年04月13日
    浏览(21)
  • 对比flink cdc和canal获取mysql binlog优缺点

    Flink CDC和Canal都是用于获取MySQL binlog的工具,但是有以下几点优缺点对比: Flink CDC是一个基于Flink的库,可以直接在Flink中使用,无需额外的组件或服务,而Canal是一个独立的服务,需要单独部署和运行,增加了系统的复杂度和成本 Flink CDC支持多种数据库的数据变化捕获,如

    2024年02月11日
    浏览(38)
  • 数据同步工具调研选型:SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比

    Apache SeaTunnel 是一个非常易用的超高性能分布式数据集成产品,支持海量数据的离线及实时同步。每天可稳定高效同步万亿级数据,已应用于数百家企业生产,也是首个由国人主导贡献到 Apache 基金会的数据集成顶级项目。 SeaTunnel 主要解决数据集成领域的常见问题: * 数据源

    2024年02月04日
    浏览(36)
  • CDC 整合方案:MySQL > Flink CDC > Kafka > Hudi

    继上一篇 《CDC 整合方案:MySQL > Kafka Connect + Schema Registry + Avro > Kafka > Hudi》 讨论了一种典型的 CDC 集成方案后,本文,我们改用 Flink CDC 完成同样的 CDC 数据入湖任务。与上一个方案有所不同的是:借助现有的 Flink 环境,我们可以直接使用 Flink CDC 从源头数据库接入数据,

    2024年02月22日
    浏览(36)
  • Debezium vs OGG vs Tapdata:如何实时同步 Oracle 数据到 Kafka 消息队列?

    随着信息时代的蓬勃发展,企业对实时数据处理的需求逐渐成为推动业务创新和发展的重要驱动力。在这个快速变化的环境中,许多企业选择将 Oracle 数据库同步到 Kafka,以满足日益增长的实时数据处理需求。本文将深入探讨这一趋势的背后原因,并通过一个真实的客户案例

    2024年04月10日
    浏览(39)
  • 【大数据精讲】全量同步与CDC增量同步方案对比

    目录 背景 名词解释 问题与挑战 FlinkCDC DataX 工作原理 调度流程 五、DataX 3.0六大核心优势 性能优化 CDC        CDC又称变更数据捕获(Change Data Capture),开启cdc的源表在插入INSERT、更新UPDATE和删除DELETE活动时会插入数据到日志表中。CDC通过捕获进程将变更数据捕获到变更表中

    2024年01月24日
    浏览(33)
  • Flink-CDC——MySQL、SqlSqlServer、Oracle、达梦等数据库开启日志方法

    目录 1. 前言 2. 数据源安装与配置 2.1 MySQL 2.1.1 安装 2.1.2 CDC 配置 2.2 Postgresql 2.2.1 安装 2.2.2 CDC 配置 2.3 Oracle 2.3.1 安装 2.3.2 CDC 配置 2.4 SQLServer 2.4.1 安装 2.4.2 CDC 配置 2.5达梦 2.4.1安装 2.4.2CDC配置 3. 验证 3.1 Flink版本与CDC版本的对应关系 3.2 下载相关包 3.3 添加cdc jar 至lib目录 3.4 验

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包