开发者社区 问答 正文

MySQL的CDC源表的实现原理是什么?

MySQL的CDC源表的实现原理是什么?

展开
收起
游客5n3d3br4o5qn4 2021-12-09 22:53:01 820 分享 版权
1 条回答
写回答
取消 提交回答
  • Source在启动时会扫描全表,将表按照主键分成多个chunk。并使用增量快照算法逐个读取每个chunk的数据。

    作业会周期性执行Checkpoint,记录下已经完成的chunk。当发生Failover时,只需要继续读取未完成的chunk。当chunk全部读取完后,会从之前获取的Binlog位点读取增量的变更记录。

    Flink作业会继续周期性执行Checkpoint,记录下Binlog位点,当作业发生Failover,便会从之前记录的Binlog位点继续处理,从而实现Exactly Once语义。

    2021-12-09 22:53:37
    赞同 展开评论