zl程序教程

您现在的位置是:首页 >  其他

当前栏目

数仓建模—美团DB数据同步到数据仓库的架构与实践

2023-09-11 14:15:37 时间

美团DB数据同步到数据仓库的架构与实践

前面我们介绍了数据同步方案的设计,你可以参考数仓建模—数据同步方案设计,前面我们也说了,我们基于binlog 实现的数据同步方案,基本是都是基于下面架构的改造实现

image-20211221175058693这里我们就看一下美团的一个实现,本文主要从Binlog实时采集和离线处理Binlog还原业务数据两个方面,来介绍如何实现DB数据准确、高效地进入数仓。

整体架构

img

整体的架构如上图所示。在Binlog实时采集方面,我们采用了阿里巴巴的开源项目Canal,负责从MySQL实时拉取Binlog并完成适当解析。Binlog采集后会暂存到Kafka上供下游消费。整体实时采集部分如图中红色箭头所示。

离线处理Binlog的部分,如图中黑色箭头所示,通过下面的步骤在Hive上还原一张MySQL表:

  1. 采用Linkedin的开源项目Camus,负责每小时把Kafka上的Binlog数据拉取到Hive上。
  2. 对每张ODS表,首先需要一次性制作快照(Snapshot),把MySQL里的存量数据读取到Hive上,这一过程底层采用直连MySQL去Select数据的方式。<