基于阿里云的数据仓库架构设计
移动开发
2020-03-28 10:16:59
阅读次数: 0
基于阿里云的数据仓库架构设计
产品对比
阿里云产品 |
同类产品 |
简介 |
RDS |
MySQL、PostgreSQL |
关系型数据库服务,是阿里提供的云数据库,有各种版本,例如MySQL版、PostgreSQL版、SQLServer版等 |
DTS |
Canal、DataX、Sqoop、Flume |
数据传输服务,功能丰富,包括集数据迁移、数据订阅、数据实时同步的功能,适用于RDMS、NoSQL、大数据等产品 |
DataHub |
Kafka |
数据总线,主要功能和Kafka类似,但是有更多的接口、功能 |
MaxCompute |
Hadoop |
通用的离线计算平台(原名ODPS),支持SQL、MapReduce、UDF、Graph、Spark on MaxCompute等计算模型。调度系统是伏羲,存储系统是盘古 |
RealtimeCompute |
Spark、Flink |
实时计算框架(以前版本是StreamCompute),底层基于Blink |
DataWorks |
- |
可视化的一站式大数据工场,包括数据集成、开发、治理、服务、质量、安全等功能,具体地说就是方便你使用MaxCompute、RealtimeCompute |
AnalyticDB |
GreenPlum、LibrA |
分析型数据库,基于MPP架构,主要包括MySQL版、PostgreSQL版 |
DataV |
Tableau、PowerBI |
可视化数据展示工具,主要做大屏展示 |
QuickBI |
Tableau、PowerBI |
相较于DataV更为灵活,主要做数据分析,运营、分析师使用较多 |
离线数仓
- 架构设计图
- 说明
- 原始数据主要来源于两部分
- 日志服务器产生的用户行为数据
- 业务数据库产生的数据
- 当然你还可以导入各种数据,例如网络爬虫的数据、数据市场购买的数据等等
- 数据导入部分
- 日志数据采用Flume进行导入DataHub既可(TailDirSource + MemoryChannel + DataHubSink)
- 业务数据直接利用MaxCompute同步进入平台即可
- 数据仓库建设部分,需要进行多层划分
- ODS(原始数据层)- 最原始的数据,只做最简单的格式检查,以及数据压缩
- DWD(数据明细层)- 数据明细层,需要进行各种ETL清洗、抽取、拆分、降维,得到实体表、维度表、事实表
- DWS(数据汇总层)- 针对明细层的数据做一个轻度聚合,进行各种统计指标的初步汇总,方便后面应用层直接使用
- ADS(数据应用层)- 应用层是最终的数据结果,包括最终需要的各类指标,还需要导入到关系型数据库中,方便Web端查询
- 分析用数据库
- 此部分可选用AnalyticDB、RDS或自建关系型库,都可以,主要是为了方便后续系统查询
- 如果数据量不大,分析量小,直接采用RDS或自建关系型库即可
- 如果因业务需求需要进行大量变化的数据分析,那么建议使用AnalyticDB
- 数据展示部分
- 根据需求选择阿里的QuickBI或自行定制化设计Web数据展示界面均可
实时数仓
- 架构设计图
- 说明
- 原始数据主要来源于两部分
- 日志服务器产生的用户行为数据
- 业务数据库产生的数据
- 数据导入部分
- 日志数据采用Flume进行导入DataHub既可(TailDirSource + MemoryChannel + DataHubSink)
- 业务数据需要利用DTS实时导入到DataHub
- 数据仓库建设部分,可以使用Kappa架构(传统Lambda架构的两条链路缩减为一条,降低维护成本)
- 原始数据先进入到DataHub,接着由RealtimeCompute进行清洗、关联,得到实时明细数据
- 实时明细数据进入到DataHub,接着由RealtimeCompute进行轻度、高度聚合,得到实时汇总数据
- 实时汇总数据进入到DataHub(也可以直接进入到分析库中),再导入到AnalyticDB
- 分析用数据库(建议同离线部分,不过还是更推荐AnalyticDB)
- 此部分库从前面DataHub得到了汇总数据
- 接着可以在内部进行指标统计生成应用层数据,直接展示即可
- 或是交由后续服务应用自行调用分析(适用于各种经常变化的分析情况)
- 数据展示部分
- 此部分同离线数仓,不过通常实时部分都是做的大屏展示,包含各类统计指标,可以直接使用阿里的DataV
发布了151 篇原创文章 ·
获赞 70 ·
访问量 19万+
转载自blog.csdn.net/alionsss/article/details/105130469