首页 > 编程知识 正文

flink实时数据仓库,从离线数仓到实时数仓

时间:2023-05-06 18:17:21 阅读:161562 作者:3852

文章目录生成背景动作原理Canal的框架

生成背景

早期,阿里巴巴B2B公司由于有杭州和美国的双室布局,机房之间存在同步的业务需求。 不过,初期的数据库同步业务主要基于trigger方式获取增量变更,从2010年开始,阿里系公司逐渐尝试基于数据库的日志分析,获取增量变更并进行同步,由此衍生出增量订阅消费业务

ps .当前内部版本支持mysql和oracle的某些版本的日志分析,当前canal开源版本支持5.7或更低版本。 (在蚂蚁构建中,为mysql 5.5.18、5.6.10、mysql 5.5.18、5.1.40/48 )。

工作原理

1.canal模拟mysql slave的交互协议,将自己伪装为mysql slave向mysql master发送dump协议

2.mysql master接收dump请求,并开始将binary log推送到slave (即canal )

3.canal分析binary log对象(原为byte流)

4.canal将分析后的binary log通过特性格式的信息推送至Kafka进行下游消费

呼叫体系结构

说明

server表示对应于jvm的canal执行实例

实例对应一个数据队列(一个服务器对应1…n个实例) )。

实例模块

eventParser (访问数据源、伪slave协议与master的交互、协议分析) ) ) ) ) ) ) ) ) ) )。

事件链接(parser和Store链接器,过滤、加工和分发数据的任务) )。

事件存储(数据存储)

metaManager (消费者信息管理器增量订阅) ) ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。