建模系列文章主要讲解大数据的数仓建模的整体流程,目标是通过对建模系列文章的学习能够对大数据的整个体系有一个清楚的认识。博主也是在面试的过程中了解到了阿里的《大数据之路》这本书。建模系列文章就按照《大数据之路》的脉络来学习大数据的体系和数据模型。
今天首先学习数据体系。大数据的架构是不断变化的,从开始兴起一直发展到现在,数据体系架构经过了多次演进,如今数据体系主要可以分为下面四层:
- 数据采集
- 数据计算
- 数据服务
- 数据应用
下图展现了大数据系统体系架构图(图片来自《大数据之路》):
1.数据采集层
从上图中可以看到,数据来源主要有两部分:
- 业务数据:主要存在数据库中
- 日志数据:主要来自日志文件
部分公司可能还有爬虫数据。日志采集会在后面文章中单独讲解。
2.数据计算层
数据通过整合计算之后,才对对它进行深度挖掘,实现大数据的价值。这一层就是对刚刚收集到的海量原始数据进行计算,也就是构建数据仓库的过程。数据仓库主要分为离线数仓和实时数仓:
- 离线数据仓库:频率一般是日、周、月、年
- 实时数据仓库:流式计算
数仓的建设遵循分层的理念,传统的数据加工链路包括以下几层:
- 操作数据层(Operational Data Store,ODS)
- 明细数据层(Data Warehouse Detail,DWD)
- 汇总数据层(Data Warehouse Summary,DWS)
- 应用数据层(Application Data Store,ADS)
不同层次的加工实现了从数据资产向信息资产的转换,整个过程中还要进行元数据管理和数据质量管理。这些后面的文章会详细介绍。
3.数据服务层
数据整合计算好之后,就是提供给产品和应用,对数据进行消费。这里可以搭建统一的数据服务平台。它以数据仓库整合计数好的数据作为数据源,对外通过接口提供服务,主要包括:
- 简单数据查询
- 复杂数据查询(例如用户画像)
- 实时数据推送
4.数据应用层
准备好的海量数据给其他部门使用,例如搜索、推荐、广告、信用等。