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

Flink CDC如果数据oracle 数据量比较大,是先进行全量同步,分两个job 来执行吗?

Flink CDC如果数据oracle 数据量比较大,是先进行全量同步, 然后再进行增量同步,分两个job 来执行吗?这中间会不会全量同步的时候有些数据已经变动,这部分变动的数据,增量同步的时候可以监听到吗?

展开
收起
真的很搞笑 2023-11-16 08:07:46 80 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,如果是全量同步 + 增量同步,可以分为两个 job 来执行。
    在进行全量同步时,可以使用 Flink CDC 的 snapshot 模式,一次性读取所有的数据;在增量同步时,可以使用 changelog 模式,监听源数据库的变化事件。
    在增量同步阶段,如果源数据库中有新的数据发生变化,会自动被监听并发送到 Flink 中处理,但是如果增量阶段的数据是在全量同步阶段之前发生的,则无法被监听到。
    所以如果数据量较大,建议先进行全量同步,然后再进行增量同步。如果在全量同步期间数据发生了变化,可以将这些变化作为新的增量数据进行处理。

    2023-11-16 13:16:35
    赞同 展开评论 打赏
  • Flink CDC支持全增量一体化同步,为用户提供实时一致性快照。在处理Oracle数据库时,该工具能够先同步全量历史数据,然后无缝切换到同步增量数据。对于新增的插入数据,Flink CDC会将其追加到实时一致性快照中;而对于更新的数据,则会在已有的历史数据中进行更新。

    如果你想要进行全量同步和增量同步,可以将CDC任务配置为只进行一次全量同步,通过设置scan.startup.mode为"initial",表示启动时执行一次全量扫描。同时,通过设置debezium.snapshot.mode为"initial",表示使用快照模式进行全量同步。

    关于增量同步过程中是否能监听到全量同步时候已经变动的数据,答案是肯定的。如前所述,Flink CDC 在增量同步时,无论是新增的插入数据还是更新的数据,都能够正确地进行处理和同步。

    2023-11-16 10:07:02
    赞同 展开评论 打赏
  • 你可以看下官方或者B站的原理解析,以前是锁表,现在是增量是同时监控的,有增量会进行合并,此回答整理自钉群“Flink CDC 社区”

    2023-11-16 08:43:28
    赞同 展开评论 打赏

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

相关产品

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

    更多
    PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
    PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
    Oracle云上最佳实践 立即下载

    相关镜像