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

Flink CDC同步多机房部署如果挂了,重新拉起是不是会推部分重复数据?

Flink CDC同步多机房部署如果挂了,重新拉起是不是会推部分重复数据?

展开
收起
十一0204 2023-07-24 21:36:55 109 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    如果 Flink CDC 在多机房部署中挂了,在重新拉起时可能会推送部分重复数据。这是由于在 CDC 任务挂掉之前,已经将一部分数据同步到了目标数据存储中,但是还有一部分数据未能同步。在重新拉起 CDC 任务时,这部分未同步的数据会被重新推送到目标数据存储中,从而导致部分重复数据。
    为了避免数据重复,可以在 Flink CDC 中启用幂等性保证。幂等性是指对于相同的输入,输出结果是相同的。在 CDC 任务中启用幂等性保证后,如果 CDC 任务在重新拉起后重复推送数据,目标数据存储也会保证只写入一次。常见的实现幂等性的方式是在目标数据存储中使用唯一索引或者版本号来判断数据是否已经存在,如果已经存在则不进行数据插入或更新操作。
    另外,为了确保数据同步的准确性和完整性,建议在 Flink CDC 中启用事务保证。

    2023-07-29 18:50:43
    赞同 展开评论 打赏
  • 存在即是合理

    不会。因为 Flink CDC 是基于增量同步的,只有在源数据库有数据变更时才会同步到 Flink 中,所以即使在多机房部署中挂掉,也不会出现重复数据的情况。

    2023-07-25 18:41:30
    赞同 展开评论 打赏

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

相关产品

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

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