flinkcdc中,全量无锁的算法 有个没看懂的地方
加锁 是为了binlog位点和schema 保持一致
无锁中 是因为读取一段binlog(这段binlog包括了DDL?)所以可以不用schema
在 Flink CDC 中实现全量无锁算法,可以采用以下两种方式:
基于增量抽取实现全量数据同步。
在 Flink CDC 中,增量抽取是指仅抽取数据库中发生变化的数据,而不是全量数据。因此,可以在增量抽取的基础上,通过记录增量抽取的位置和时间戳等信息,来实现全量数据同步。具体实现方法如下:
在增量抽取时,记录每个表的最后一次抽取位置和时间戳等信息。
在全量同步时,从每个表的第一条记录开始抽取数据,直到到达最后一次增量抽取的位置和时间戳。然后,将增量抽取后未同步的数据进行补充同步。
这种方式可以避免数据库锁表等问题,同时能够保证数据同步的准确性和一致性。
基于多版本并发控制实现全量数据同步。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。