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

Flink CDC在代码程序里面执行更新操作,数据库执行是update,为什么?

Flink CDC在代码程序里面执行更新操作,flink监听到类型却是delete+insert;数据库执行是update?

展开
收起
真的很搞笑 2023-12-19 08:08:42 103 0
3 条回答
写回答
取消 提交回答
  • 是的,你理解正确。Flink CDC在处理数据库的UPDATE操作时,它实际上监听到的是一个组合的事件——先是一个DELETE事件(代表旧记录被逻辑删除),然后是一个INSERT事件(代表新记录被插入)。这是因为许多数据库系统的CDC机制(如MySQL的binlog或Oracle的GoldenGate)在记录数据更改时,并不会直接提供UPDATE事件,而是通过记录数据变化前后的镜像来反映更新操作。

    Flink CDC作为流处理引擎,在消费这些变更日志时,会将这样的行为解析为两个事件,以便于下游的数据处理流程可以准确无误地跟踪和应用这些数据变更。这种做法有助于保持数据的一致性和事务性,同时使得流处理系统能够以一种可重播的方式处理更新操作。

    2023-12-30 12:32:01
    赞同 展开评论 打赏
  • 是不是修改主键了. 修改主见会变成delete+insert ,此回答整理自钉群“Flink CDC 社区”

    2023-12-19 16:40:37
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC在代码程序里面执行更新操作时,如果数据库执行的是UPDATE操作,那么Flink监听到的类型是DELETE+INSERT。这是因为Flink CDC会将UPDATE操作解析为先删除旧数据,再插入新数据的过程。

    2023-12-19 14:31:19
    赞同 展开评论 打赏

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

相关产品

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

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