当我们数据发生变动之后想要对其它的数据做一些修改可以采用此方案,以轻数仓的维度同步为例,流程大致如下:

在这里插入图片描述

1、打开MySQL 的binlog,使用canal监听MySQL的的binlog日志,当数据发生变动的时候canal会将变动的数据发送到我们配置的Kafka的topic中。
2、在我们的服务中去消费 byt-grid-data-sync 这个topic,拿到变动的数据,完成一些自定义的操作,根据变动的数据生成出我们需要的数据,然后去查询在服务中保存的配置,区分这个数据属于哪一条产线,根据查询到的产线和数据对gp数据库中保存的数据完成相应的变动。

GitHub 加速计划 / ca / canal
28.22 K
7.57 K
下载
alibaba/canal: Canal 是由阿里巴巴开源的分布式数据库同步系统,主要用于实现MySQL数据库的日志解析和实时增量数据订阅与消费,广泛应用于数据库变更消息的捕获、数据迁移、缓存更新等场景。
最近提交(Master分支:3 个月前 )
1e5b8a20 - 2 个月前
ff82fd65 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐