韩亚飞_yue31313_韩梦飞沙 QQ:313134555
数据仓库分层的原因
编号 |
要点 |
描述 |
---|---|---|
1 | 提高效率 | 通过数据预处理提高效率,因为预处理,所以会存在冗余数据 |
2 | 应对变化 | 如果不分层而业务系统的业务规则发生变化,就会影响整个数据清洗过程,工作量巨大 |
3 | 逻辑清晰 | 通过分层管理来实现分步完成工作,这样每一层的处理逻辑就简单了 |
标准的数据仓库分层:
编号 |
分层 |
分层 |
描述 |
---|---|---|---|
1 | ods | 临时存储层 | 它和源系统数据是同构的,而且这一层数据粒度是最细的,这层的表分为两种,一种是存储当前需要加载的数据,一种是用于存储处理完后的数据。 |
2 | pdw | 数据仓库层 | 它的数据是干净的数据,是一致的准确的,也就是清洗后的数据,它的数据一般都遵循数据库第三范式,数据粒度和ods的粒度相同,它会保存bi系统中所有历史数据 |
3 | mid | 数据集市层 | 它是面向主题组织数据的,通常是星状和雪花状数据,从数据粒度讲,它是轻度汇总级别的数据,已经不存在明细的数据了。 |
4 | app | 应用层 | 数据粒度高度汇总,倒不一定涵盖所有业务数据,只是mid层数据的一个子集。 |
ODS(临时存储层)、PDW(数据仓库层)、MID(数据集市层)、APP(应用层)
也可分三层:
操作型数据库(ODS),数据仓库(DW或EDW),数据集市(DM)
数据缓存层,核心数据层,分析应用层。
数据仓库
数据仓库可以理解为中间集成化数据管理的一个平台
数据仓库的存储并不需要存储所有原始数据,因为比如你存储冗长的文本数据完全没必要,但需要存储细节数据,因为需求是多变的,而且数据仓库是导入数据必须经过整理和转换使它面向主题,因为前台数据库的数据是基于oltp操作组织优化的,这些可能不适合做分析,面向主题的组织形式才有利于分析。
多维数据模型
多维数据模型就是说可以多维度交叉查询和细分,应用一般都是基于联机分析处理(online analytical process OLAP)
元数据
元数据,也叫解释性数据,或者数据字典,会记录数据仓库中模型的定义,各层级之间的映射关系,监控数据仓库的数据状态和etl的任务运行状态。一般通过元数据资料库来统一存储和管理元数据。
技术:
数据采集:采用Flume收集日志,采用Sqoop将RDBMS以及NoSQL中的数据同步到HDFS上
消息系统:可以加入Kafka防止数据丢失
实时计算:实时计算使用SparkStr