当前位置: 首页 > news >正文

网站域名申请程序千锋教育培训机构地址

网站域名申请程序,千锋教育培训机构地址,点播视频服务器,怎么建立手机网站快速理解 FlinkCDC 2.0 原理 要详细理解 Flink CDC 原理可以看看这篇文章,讲得很详细:深入解析 Flink CDC 增量快照读取机制 (https://juejin.cn/post/7325370003192578075)。 FlnkCDC 2.0: Flink 2.x 引入了增量快照读取机制,…

快速理解 FlinkCDC 2.0 原理

要详细理解 Flink CDC 原理可以看看这篇文章,讲得很详细:深入解析 Flink CDC 增量快照读取机制 (https://juejin.cn/post/7325370003192578075)。

FlnkCDC 2.0:

Flink 2.x 引入了增量快照读取机制,还带来了一些其他功能的改进。以下是对Flink 2.x的主要功能的介绍:

  1. 增量快照读取:Flink 2.x引入了增量快照读取机制,这是一种全新的数据读取方式。该机制支持并发读取和以chunk为粒度进行checkpoint。在增量快照读取过程中,Flink首先根据表的主键将其划分为多个块(chunk),然后将这些块分配给多个读取器并行读取数据。这一机制极大地提高了数据读取的效率。
  2. 精确一次性处理:Flink 2.x引入了Exactly-Once语义,确保数据处理结果的精确一次性。MySQL CDC 连接器是Flink的Source连接器,可以利用Flink的checkpoint机制来确保精确一次性处理。
  3. 动态加表:Flink 2.x支持动态加表,通过使用savepoint来复用之前作业的状态,解决了动态加表的问题。
  4. 无主键表的处理:Flink 2.x对无主键表的读取和处理进行了优化。在无主键表中,Flink可以通过一些额外的字段来识别数据记录的唯一性,从而实现准确的数据读取和处理。

通过 MysqlCDC 快速理解 FlinkCDC 2.0 原理

这里将 Mysql Binlog CDC 流程简单分成了六个阶段,通过这六个阶段可以应该大致了解 Flink CDC 原理。

Snapshot 准备阶段:
SourceEnumerator 根据配置从数据库中获取每张表主键的最大值,然后根据每张表主键最大值和配置的粒度大小分为若干个键值范围 Chunk,然后将 Chunk 和表名等信息封装成 MySqlSnapshotSplit,发送给多个 MysqlSourceReader。

Chunk 读取阶段:
MysqlSourceReader 创建 MySqlSnapshotSplitReadTask 快照读取任务, 任务通过 MySqlSnapshotSplit 的 Chunk 的键值范围从数据库中 SQL 查询并保存相关数据,查询数据前后还会记录 binlog 的偏移量,也就是 binlog 当前的位置,查询前的为低位偏移量,查询后的为高位高位偏移量,用于修正部分中途修改的数据。
在这里插入图片描述

在这里插入图片描述

Binlog Upsert 修正数据阶段:
SQL 获取在读取 Chunk 数据时 binlog 改动的数据, 也就是获取 binlog 低位到高位偏移量的修改的数据,如果修改的数据键值在 chunk 范围内,那么修正 chunk 范围内的数据,这里的修正只会修正读取 chunk 过程中的一部分变动数据,后面的 Binlog 阶段将会修正其他遗漏的变动数据。

在这里插入图片描述
在这里插入图片描述

Snapshot 完成并准备开启 Binlog 阶段:
Chunk 读取阶段 和 Binlog Upsert 阶段都完成后,将修正后的数据发送给下游,并将完成的 SplitId 以及每个 Chunk 读取过程中的 Binlog 高位偏移量发送给 SourceEnumerator。
SourceEnumerator 在所有快照数据读取完后,创建 MySqlBinlogSplit,并将 MySqlBinlogSplit 发送给 MysqlSourceReader。
MysqlSourceReader 收到 MySqlBinlogSplit 后,向 SourceEnumerator 请求 Binlog 元数据信息。
SourceEnumerator 将已完成的 SplitId 和高位偏移量封装成 Binlog 元数据中发送给 MysqlSourceReader。

Binlog 阶段:
MySqlSplitReader 开始读取 MySqlBinlogSplit, 它从 Binlog 元数据中读取所有已完成的 Chunk 信息和高位偏移量,开始从 Binlog 最低位偏移量读取并处理数据,处理数据时只需要处理读取的偏移量大于当前数据所在 Chunk 的高位偏移量的数据,原因如下:
假设有已完成的 SnapshotSplit 信息 ssp,它的 Chunk 范围为 (id1,id2), 偏移量高低位为 (lw1, hw1)。
这时读取 binlog 的键值在 Chunk(id1, id2) 范围内, 偏移量为 k,开始做对数据做以下判定:
偏移量 k < lw1 的数据, 这部分数据在之前快照读取 Chunk(id1, id2) 前已经对完成了数据的修改,而快照读取 Chunk(id1, id2) 时是已经修改后的数据,可以不用管。
偏移量 lw1 <= k <= hw1 的数据,这部分数据在之前快照读取 Chunk(id1, id2) 后的 binlogUpsert 操作里面,已经完成了对数据的修改,可以不用管。
偏移量 k > hw1的数据,说明在读完 ssp 后又对 Chunk(id1, id2) 范围数据进行修改了,需要修正数据。
在这里插入图片描述

Pure Binlog Phase 阶段:
当达到了所有已完成的 SnapshotSplit 中最大的高位偏移量后,将进入 Pure Binlog Phase阶段,这时将不会对 binlog 进行任何比较,将直接发送给下游。

引用:

深入解析 Flink CDC 增量快照读取机制: https://juejin.cn/post/7325370003192578075。

http://www.tj-hxxt.cn/news/17313.html

相关文章:

  • 杭州营销型网站制作南京seo推广优化
  • 德州中文网站建设最近一周新闻大事件
  • 网站推广信息怎么做百度识图鉴你所见
  • 网站转移空间以后ip会变化吗网页设计模板网站免费
  • 济南网站推广外贸推广平台哪家好
  • 网站建设公司市场定位如何创建网页链接
  • 天猫网站建设的目标知识付费小程序搭建
  • 网站建设运营费用windows优化大师靠谱吗
  • 可以做宣传的网站百度网站排名查询工具
  • 有什么做设计接任务的网站百度指数功能有哪些
  • 商城类型的网站怎么做网络推广哪个好
  • 想查客户信息做网站网络舆情分析研判报告
  • 上海市城乡建设与管理委员会网站百度自然排名优化
  • 湖州北京网站建设seo流量排名软件
  • seo提高网站排名广告推广软件
  • 长沙做网站建设公司百度搜索最多的关键词
  • 外贸网站在哪做外链搜索 引擎优化
  • 企业所得税如何征收青岛seo杭州厂商
  • 完整的社群营销方案奉化seo页面优化外包
  • 做灯箱片的设计网站企业网络推广网站
  • 医药网站建设方案网络营销平台的主要功能
  • 行业 专业 网站建设全媒体广告代理加盟
  • 免版权图片网站腾讯企业qq官网
  • 什么网站做h5做得好手机上怎么制作网页
  • 广东网站建设人员网站seo诊断技巧
  • 电商品牌网站开发运营seo网站排名的软件
  • 园林景观设计公司发展规划成都seo公司
  • 重庆市建设工程施工安全网重庆seo教程搜索引擎优化
  • 诸城网站建设哪家好宁波seo关键词
  • 哪些网站做的最好怎么联系百度推广