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

flinkcdc中,全量无锁的算法怎么做?

flinkcdc中,全量无锁的算法 有个没看懂的地方
加锁 是为了binlog位点和schema 保持一致
无锁中 是因为读取一段binlog(这段binlog包括了DDL?)所以可以不用schema

展开
收起
小易01 2023-07-19 18:14:47 265 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 Flink CDC 中实现全量无锁算法,可以采用以下两种方式:
    基于增量抽取实现全量数据同步。
    在 Flink CDC 中,增量抽取是指仅抽取数据库中发生变化的数据,而不是全量数据。因此,可以在增量抽取的基础上,通过记录增量抽取的位置和时间戳等信息,来实现全量数据同步。具体实现方法如下:
    在增量抽取时,记录每个表的最后一次抽取位置和时间戳等信息。
    在全量同步时,从每个表的第一条记录开始抽取数据,直到到达最后一次增量抽取的位置和时间戳。然后,将增量抽取后未同步的数据进行补充同步。
    这种方式可以避免数据库锁表等问题,同时能够保证数据同步的准确性和一致性。
    基于多版本并发控制实现全量数据同步。

    2023-07-29 19:28:42
    赞同 展开评论 打赏

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

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载