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

CDC 的全称是 Change Data Capture ,在广义的概念上,只要能捕获数据变更的技术,我们都可以称为 CDC 。我们目前通常描述的CDC 技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。
目前市面上的CDC技术比较多,我们选取了几种主要的开源CDC方案做了对比,总体如下图:

如上图所示,从CDC机制、增量同步、断电续传、全量同步、全量+增量、架构、数据计算、生态这八个方面做了对比。可以看出其中的佼佼者主要是Flink CDC和Oracle OGG以及Debezium;
由于基于查询的CDC方案缺陷明显,这里不作讨论,下面我们对基于日志的CDC方案的优劣来做详细的介绍。
Flink CDC:Flink CDC是最近几年的新贵,Flink CDC 底层封装了 Debezium,功能比较全面,目前已经迭代到了2.4版本,社区活跃度在几个方案中是最高的;

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

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

Canal:主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。