目前比较流行的实时数仓架构有两类,其中一类是以Flink+Doris为核心的实时数仓架构方案;另一类是以湖仓一体架构为核心的实时数仓架构方案。本文针对Flink+Doris架构进行介绍,这套架构的特点是组件涉及相对较少,架构简单,实时性更高,且易于Lambda架构实现,Doris本身可以支持流批融合(包括离线修复场景)。实时数仓架构图如下:
-
技术框架
-
Kafka:用于接入数据,缓存存储DWD/DWS/DIM中间结果;
-
Flink:用于数据ETL,包括接入数据、处理数据及输出数据全链路数据计算任务;
-
Doris:OLAP引擎,用来存储经过Flink加工过的事实表和维表数据,同时对外提供数据服务支持;
-
Hbase&Redis:用来存储维表信息,维表数据来源一部分有Flink加工实时写入,另一部分是从离线任务同步数据,其主要作用用来支持Flink ETL处理过程中的Lookup Join功能。这里选用Hbase原因主要因为Table的Hbase Connector支持异步IO功能。
-
StreamX:Flink任务管理工具,用于部署管理以及监控Flink实时任务;
-
HDFS:针对原始日志数据备份,必要时刻可以通过备份数据恢复全链路数据;
<
-