Flink Gauss CDC:深度剖析存量与增量同步的创新设计

news/2025/1/23 17:25:31/

目录

设计思路

1.为什么不直接用FlinkCDC要重写Flink Gauss CDC

2.存量同步的逻辑是什么

2.1、单主键的切片策略是什么

2.2、​​​​​复合主键作切片,怎么保证扫描到所有的数据

3、增量同步的逻辑是什么

4、存量同步结束之后如何无缝衔接增量同步 

5、下游数据如何落库

6、项目结构大概怎么样

总结


设计思路

1.为什么不直接用FlinkCDC要重写Flink Gauss CDC

GaussDB 是华为内部自研的一套数据库,提供了类似于PostgreSQL的逻辑复制插件。Gauss100 OLTP逻辑复制解析包含逻辑日志信息的REDO日志,只有当表逻辑复制开关和全局逻辑复制开关同时打开时,该表的数据才会被逻辑复制。变化的数据最终到kafka,假设对表USRSAMPLE.T1(F1,F2)字段分别进行插入,更新,删除操作同步的消息格式如下:

[{

http://www.ppmy.cn/news/1565536.html

相关文章

电梯系统的UML文档08

5.1.2 用例 2 –处理电梯呼叫 这个用例有二个场景:乘客进入电梯和按电梯呼叫按钮。乘客可能想要去楼上或楼下,与电梯当前的移动方向有关。当电梯经过乘客或当在附近的楼层徘徊时,乘客可以到达目的层。这二个场景可以共享同一个用例。 场景 2.1 电梯呼叫…

《探秘鸿蒙Next:非结构化数据处理与模型轻量化的完美适配》

在鸿蒙Next的人工智能应用场景中,处理非结构化数据并使其适配模型轻量化需求是一项关键且具有挑战性的任务。以下是一些有效的方法和策略。 数据预处理 数据清洗:非结构化数据中往往存在噪声、重复和错误数据。对于文本数据,要去除乱码、特殊…

新年好(Dijkstra+dfs/全排列)

1135. 新年好 - AcWing题库 思路: 1.先预处理出1,a,b,c,d,e到其他点的单源最短路,也就是进行6次Dijkstra 2.计算以1为起点的这6个数的全排列,哪种排列方式所得距离最小,也可以使用dfs 1.Dijkstradfs #define int long longusing …

django admin list_display显示外键字段处理办法

参考: https://www.ywcsb.vip/blog/101.html list_display展示外键内容 表结构关系 表一: class Person(models.Model):firstname models.CharField(maxlength50)surname models.CharField(maxlength50)表二 class Friends(models.Model):person1…

机器学习-交叉验证

交叉验证 (Cross-Validation) 是一种评估模型性能和选择模型参数的统计学方法,特别是在数据量有限的情况下。它比简单地将数据分成训练集和测试集更加可靠,因为它利用了所有的数据进行训练和测试。 什么是交叉验证? 交叉验证的基本思想是将…

Nginx HTTP 服务器基础配置

一、Nginx 初相识 在当今互联网的广阔世界里,Nginx作为一款高性能的HTTP和反向代理服务器,犹如一颗璀璨的明星,闪耀在Web服务器领域的天空中。它诞生于2004年,由俄罗斯的Igor Sysoev开发,最初的目的是为了解决C10K问题…

GCC支持Objective C的故事?Objective-C?GCC只能编译C语言吗?Objective-C 1.0和2.0有什么区别?

GCC支持Objective C的故事 Objective-C 主要由 Stepstone 公司的Brad Cox和 Tom Love 在1980 年左右发明。乔布斯离开苹果公司后成立了NeXT STEP公司, 买下了Objective-C 语言的授权。GCC对Objective-C语言的支持是在1992年加入的,具体是在GCC 1.3版本中…

开发常用工具

在项目开发中,工具的使用起到了至关重要的作用,正所谓工欲善其事,必先利其器,掌握一些实用的开发工具能够使我们的开发效率事半功倍。 那么我们应该掌握哪些开发工具的使用方法呢?其实一路走来,我们已经介…