我想用finkcdc 读取线上数据库 flinkcdc 在那几个阶段会锁表?读表全量和table s

我想用finkcdc 读取线上数据库 flinkcdc 在那几个阶段会锁表?读表全量和table schema 时会不会锁表?

展开
收起
游客3oewgrzrf6o5c 2022-07-28 15:16:45 415 分享
分享
版权
举报
阿里云 AI 助理回答

在使用Flink CDC读取线上数据库时,其工作流程主要分为两个阶段:全量数据读取(Snapshot阶段)和增量数据读取(Binlog读取阶段)。根据提供的知识库资料,可以明确以下几点:

  1. 全量数据读取(Snapshot阶段): 在这个阶段,Flink CDC会通过JDBC连接到MySQL数据库,并执行SELECT语句来读取表的全量数据。此过程不会锁表,但因为需要扫描全表,可能会增加MySQL服务的查询压力。

  2. Table Schema读取: 在初始化连接时,Flink CDC会获取表的结构信息(Schema),这一操作也不会导致锁表,它只是对元数据的读取。

  3. 增量数据读取(Binlog读取阶段): 完成全量数据读取后,Flink CDC将切换到读取Binlog模式,以捕获数据库的变更数据。此阶段是实时监听Binlog事件,同样不会锁表,而是通过Binlog Client轻量级地订阅数据变化,不对源数据库造成锁表影响。

综上所述,在Flink CDC的整个数据读取过程中,无论是全量数据读取、Table Schema读取,还是后续的增量数据读取阶段,都不会对线上数据库进行锁表操作。这确保了在数据同步的同时,源数据库可以正常处理读写请求,不影响业务运行。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

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

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等