开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC这边用 flink cdc 采集pg库的时候 是采集的pg库集群的主库吗?

Flink CDC这边用 flink cdc 采集pg库的时候 是采集的pg库集群的主库吗?因为我看到要使用逻辑复制槽 这个是不是只有主库才有?

展开
收起
十一0204 2023-07-26 08:07:06 84 0
3 条回答
写回答
取消 提交回答
  • 是的,当使用 Flink CDC 采集 PostgreSQL(pg)数据库时,默认情况下会采集 pg 集群的主库。这是因为逻辑复制槽只能在主库上创建和管理。

    逻辑复制槽(Logical Replication Slot)是 PostgreSQL 中一种用于基于逻辑复制的机制,在主库上创建的特殊对象。它负责跟踪并存储需要复制到订阅者(如 Flink CDC)的变更信息。只有在主库上创建了逻辑复制槽后,才能确保 Flink CDC 能够正常捕获来自主库的数据变更。

    需要注意的是,在使用 Flink CDC 之前,你需要在 PostgreSQL 主库上创建一个逻辑复制槽,并将其指定给 Flink CDC 进行连接和捕获数据变更。这样 Flink CDC 才能实时获取主库上的数据变更,并进行相应的处理。

    另外,如果你希望采集从库(standby)或其他节点上的数据,可能需要考虑使用其他方式或工具来实现,而不仅仅依赖于 Flink CDC。

    2023-07-31 23:03:26
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在使用 Flink CDC 采集 PostgreSQL 数据库集群时,建议只连接主库进行数据采集,以确保采集到的数据是准确和可靠的。
    这是因为 PostgreSQL 数据库集群采用了流复制(streaming replication)的方式进行数据同步,主库会将数据更新操作以 WAL 日志的形式发送给备库,备库再将这些 WAL 日志应用到自己的数据库中,从而保证备库中的数据与主库中的数据保持一致。
    如果您尝试连接备库进行数据采集,可能会出现数据不一致的情况,因为备库可能还没有应用主库中最新的 WAL 日志。此外,连接备库进行数据采集也可能会对备库的性能产生影响,因为备库需要同时处理来自主库的 WAL 日志和来自 Flink CDC 的数据采集请求。
    因此,建议在使用 Flink CDC 采集 PostgreSQL 数据库集群时,只连接主库进行数据采集,并确保主库和备库的 WAL 日志同步正常,以保证采集的数据是准确和可靠的。如果需要提高数据采集的可靠性和容错性,可以考虑使用 Flink CDC 的 HA 功能和 PostgreSQL 数据库集群的高可用性配置,以确保在主库故障或网络

    2023-07-29 16:23:16
    赞同 展开评论 打赏
  • 意中人就是我呀!

    是的。只能连主库。此回答整理至钉群“Flink CDC 社区”。

    2023-07-26 12:03:59
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载