Flink mysql 和 mysql-cdc 连接器的区别?

Difference between Flink mysql and mysql-cdc connector?

为了丰富数据流,我们计划将 MySQL (MemSQL) 服务器连接到我们现有的 flink 流应用程序

我们可以看到,Flink 提供了一个 Table API with JDBC connector https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/jdbc/

此外,我发现了另一个名为 Flink-CDC 的 MySQL 连接器 https://ververica.github.io/flink-cdc-connectors/master/content/about.html 允许以流方式使用外部数据库

它们有什么区别? 在我的情况下选择什么更好?

更改数据捕获 (CDC) 连接器捕获一个或多个 table 中发生的所有更改。模式通常有一个之前和一个之后的记录。 Flink CDC 连接器可以直接在 Flink 中以无界模式(流式)使用,而不需要像 Kafka 这样的中间东西。

正常的 JDBC 连接器可以在有界模式下使用并用作查找 table。

如果您希望丰富现有的信息流,您很可能希望使用查找功能。这允许您查询 table 特定键(来自您的流)并使用来自您的 table 的数据丰富流。请记住,从性能的角度来看,您最好使用临时 table 连接。请参阅 https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/jdbc/#how-to-create-a-jdbc-table

中的示例