0
点赞
收藏
分享

微信扫一扫

【Flink基础】-- Flink CDC介绍

逸省 2022-11-03 阅读 165


一、Flink CDC 是什么?

      2020年 Flink cdc 首次在 Flink forward 大会上官宣, 由 ​​Jark Wu & Qingsheng Ren 两位大佬​​​ 介绍,原始 blog 点击​​链接。​​

      Flink CDC connector 可以捕获在一个或多个表中发生的所有变更。该模式通常有一个前记录和一个后记录。Flink CDC connector 可以直接在Flink中以非约束模式(流)使用,而不需要使用类似 kafka 之类的中间件中转数据。

【Flink基础】-- Flink CDC介绍_大数据

另有一篇腾讯团队关于 Flink CDC 的介绍:​​Principle, practice and optimization of Flink CDC - 文章整合


https://chowdera.com/2021/04/20210402055656576y.html​​

二、Flink CDC 支持的数据库?

Connector

Database

Driver

​​mongodb-cdc​​


  • ​​MongoDB​​: 3.6, 4.x, 5.0

MongoDB Driver: 4.3.1

​​mysql-cdc​​


  • ​​MySQL​​: 5.6, 5.7, 8.0.x
  • ​​RDS MySQL​​: 5.6, 5.7, 8.0.x
  • ​​PolarDB MySQL​​: 5.6, 5.7, 8.0.x
  • ​​Aurora MySQL​​: 5.6, 5.7, 8.0.x
  • ​​MariaDB​​: 10.x
  • ​​PolarDB X​​: 2.0.1 

JDBC Driver: 8.0.21

​​oceanbase-cdc​​


  • ​​OceanBase CE​​: 3.1.x

JDBC Driver: 5.7.4x

​​oracle-cdc​​


  • ​​Oracle​​: 11, 12, 19

Oracle Driver: 19.3.0.0

​​postgres-cdc​​


  • ​​PostgreSQL​​: 9.6, 10, 11, 12

JDBC Driver: 42.2.12

​​sqlserver-cdc​​


  • ​​Sqlserver​​: 2017, 2019

JDBC Driver: 7.2.2.jre8

​​tidb-cdc​​


  • ​​TiDB​​: 5.1.x, 5.2.x, 5.3.x, 5.4.x

JDBC Driver: 8.0.27

三、使用 Flink CDC?

​​快速上手 — CDC Connectors for Apache Flink® documentation​​

四、相比于 Kafka Streams ,Flink CDC 的优势

  1. Flink的操作者和SQL模块都比较成熟且易于使用
  2. Flink的作业可以通过调整运算器的并行度来完成,易于扩展处理能力
  3. Flink支持先进的状态后端(State Backends),允许访问大量的状态数据
  4. Flink提供更多的Source和Sink等。
  5. Flink拥有更大的用户群和活跃的支持社区,问题更容易解决
  6. Flink开源协议允许云厂商进行全托管深度定制,而Kafka Streams则只能由其自己部署和运营
  7. 和Flink Table/SQL模块集成了数据库表和变化记录流(例如CDC的数据流)。作为同一事物的两面,结果是Upsert Message结构(+I表示新增、-U表示记录更新前的值、+U表示记录的更新值、-D表示删除)。
举报

相关推荐

0 条评论