CDC简介
1. 什么是CDC
CDC是Change Data Capture(变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。
2. CDC的种类
CDC主要分为基于查询和基于Binlog两种方式,我们主要了解一下这两种之间的区别:
基于查询的CDC | 基于Binlog的CDC | |
---|---|---|
开源产品 | Sqoop、DataX | Canal、Maxwell、Debezium |
执行模式 | Batch | Streaming |
是否可以捕获所有数据变化 | 否 | 是 |
延迟性 | 高延迟 | 低延迟 |
是否增加数据库压力 | 是 | 否 |
3. Flink-CDC
FlinkCDC(Flink Change Data Capture)是一个用于实时捕获数据库变更日志的工具,它可以将数据库(如MySQL,PostgreSQL,MariaDB等)的变更实时同步到Apache Flink系统中。Flink社区开发了相关的flink-cdc-connectors组件:
4. FlinkCDC发展史
1.x提供DataStream以及FlinkSQL方式实现数据动态获取
2.x丰富对接的数据库以及增加全量同步锁表问题的解决方案
3.x提供StrcamingETL方式导入数据方案