开发者社区 > 大数据与机器学习 > 正文

大佬,请问Flink CDC同步postgresql全量数据时,如果源表发生了修改,全量期间的修改?

已解决

大佬,请问Flink CDC同步postgresql全量数据时,如果源表发生了修改,全量期间的修改会丢失吗?

展开
收起
真的很搞笑 2023-06-11 16:52:28 144 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长
    采纳回答

    在 Flink CDC 同步 PostgreSQL 全量数据时,如果源表在全量同步期间发生了修改,这些修改不会被同步到目标端,因为全量同步是基于源表的快照进行的,只会同步快照时的数据。

    一般情况下,全量同步是在初始化同步时进行的,它会读取源表的所有数据,并将这些数据同步到目标端。如果在全量同步期间源表发生了修改,这些修改不会被同步到目标端。

    如果您需要将全量同步和增量同步结合起来,以便在全量同步期间能够同步源表的修改,可以考虑使用 Flink CDC 的增量同步功能。增量同步会基于源表的日志进行同步,能够及时地同步源表的修改。

    2023-06-16 08:02:49
    赞同 1 展开评论 打赏
  • 不断追求着最新的技术和趋势,在云技术的世界里,我不断寻找着新的机会和挑战,不断挑战自己的认知和能力。

    在使用 Flink CDC 同步 PostgreSQL 全量数据时,如果源表发生了修改,全量期间的修改可能会丢失。这是因为 Flink CDC 默认情况下使用的是增量同步模式,而不是全量同步模式。

    在增量同步模式下,Flink CDC 会在每次作业执行时将源表中的新数据同步到目标表中,而不会同步源表中的修改。因此,如果源表发生了修改,这些修改可能会丢失,因为只有在作业执行期间修改的数据才会被同步到目标表中。

    要解决这个问题,您可以使用 Flink CDC 的全量同步模式,以确保将源表中的所有数据同步到目标表中。在全量同步模式下,Flink CDC 会将所有源表中的数据一次性同步到目标表中,因此不会丢失任何修改。

    需要注意的是,使用全量同步模式可能会导致数据同步时间变长,因为它需要一次性同步所有数据。此外,如果您使用的是分布式 Flink,全量同步模式可能需要在分布式环境中进行协调,以确保所有节点都完成了数据同步。

    2023-06-15 23:07:41
    赞同 展开评论 打赏
  • 在使用Flink CDC同步PostgreSQL全量数据时,如果源表在全量同步期间发生了修改,Flink CDC会将这些修改同步到目标端,而不会丢失。

    具体来说,Flink CDC会先通过PostgreSQL的逻辑复制协议获取源端的数据,并将其写入目标端的数据流中。在全量同步期间,如果源端的数据发生了修改,Flink CDC会通过逻辑复制协议获取这些修改,并将其同步到目标端。

    需要注意的是,如果源端的数据修改过于频繁,可能会对Flink CDC的性能产生影响。因此,建议在进行全量同步时,尽量避免对源表进行大规模的修改操作。

    2023-06-13 16:32:55
    赞同 展开评论 打赏

大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。

相关产品

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

    更多
    PostgreSQL 物联网六脉神剑 立即下载
    PostgreSQL在哈啰的实践-周飞 立即下载
    PostgreSQL高并发数据库应用数据 立即下载

    相关镜像