CDC简介

1. 什么是CDC

CDC是Change Data Capture(变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。

2. CDC的种类

CDC主要分为基于查询和基于Binlog两种方式,我们主要了解一下这两种之间的区别:

基于查询的CDC 基于Binlog的CDC
开源产品 Sqoop、DataX Canal、Maxwell、Debezium
执行模式 Batch Streaming
是否可以捕获所有数据变化 否 是
延迟性 高延迟 低延迟
是否增加数据库压力 是 否

FlinkCDC(Flink Change Data Capture)是一个用于实时捕获数据库变更日志的工具,它可以将数据库(如MySQL,PostgreSQL,MariaDB等)的变更实时同步到Apache Flink系统中。Flink社区开发了相关的flink-cdc-connectors组件:
Alt text

4. FlinkCDC发展史

1.x提供DataStream以及FlinkSQL方式实现数据动态获取
2.x丰富对接的数据库以及增加全量同步锁表问题的解决方案
3.x提供StrcamingETL方式导入数据方案

5. CDC产品对比

Alt text

评论