数据库 CDC 消息入数仓最佳实践
2022-03-04 23:35:31 0 举报
CDC数据导入最佳实践
作者其他创作
大纲/内容
Kafka Consumer
成功入库后触发
N
直接插入
待新增记录批量入库
服务异常造成插入失败
如果集合中有 Before 数据,则将其移除
触发后续操作,需支持扩展
1000
动态新增监听的 Kafka Topic
Y
Process
合并为一个对象
判断是否处理删除事件
删除 (D)
主要配置信息如下:- Topic 与 目标表的映射关系- Transform 规则- 是否处理删除事件 (默认需处理)- 目标表业务主键- 目标表分布键- 是否运行 (开发状态 / 异常状态下可临时下线)
直接删除
待删除记录插入临时表
更新 (U)
针对数仓,可能需要忽略上游的结存消息
关联删除
判断删除集合数据量
删除集合
自定义 Transform
插入 (I)
新增集合
判断是否为主键冲突
解析出After 数据
启动
结束
解析出Before 数据
先解析出Before 数据
生成删除 SQL
注册中心
判断CDC消息类型
判断执行结果
PostgreSQL / Greenplum Sink
关联删除主键冲突的
自定义 Trigger
计数或者定时窗口,数据量大走计数,数据量小走定时
判断新增集合是否有数据
配置获取,配置热更新
待新增记录插入临时表
判断删除集合是否有数据
迭代循环
参考 Kafka Connect Transform比如: 字段映射,字段新增 ...
...
0 条评论
回复 删除
下一页