【问题标题】:How to apply Debezium CDC events from Pub/Sub onto a database?如何将 Pub/Sub 中的 Debezium CDC 事件应用到数据库中?
【发布时间】:2023-01-26 12:41:38
【问题描述】:
目前,我正在设置一个环境来使用 Apache Debezium 测试 CDC(变更数据捕获),以便将数据库表从两个数据库复制到一个数据库。 CDC 事件被捕获并发送到 Google Pub/Sub 主题,但我不知道如何将这些消息传播到目标数据库。我最终试图在下图中以问号突出显示的拼图中找到缺失的部分。如何将我的 Google Pub/Sub 主题消息连接到我的目标数据库 (DB C)?
DB A和DB B都是PostgreSQL数据库实例,DB C的数据库系统未确定。
我的 Pub/Sub 主题中的每条消息都包含一个 Debezium CDC 事件。
此外,如果可能的话,我打算坚持使用 Google Pub/Sub 作为消息代理。
【问题讨论】:
标签:
debezium
change-data-capture
【解决方案1】:
debezium 的想法是获取静态数据(DB A 和 DB B)并将其移动。它为此使用变更数据捕获。一旦选择了目标消息系统 Kafka / Kinesis / Event Hub / Pub Sub,数据就会发送到该消息系统上的一组主题
从这个消息系统,必须有一些应用程序会读取这个数据并将这个数据放入一个接收器(DB-C)。这可以是任何能够从消息传递应用程序读取并连接到 DB-C 的应用程序。现代实时系统能够做到这一点。云提供商也为其提供选项。这些示例包括 Storm 、 Spark 、 Flink 等系统,它们可以使用这些主题然后持久化数据。由于它是 Google pub-sub ,因此也可能有一些选项可以本地读取它
【解决方案2】:
您应该能够使用 gcp 数据流将消息从 pubsub 移动到目标数据库