一、数据仓库的定义
数据仓库(DW),是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。它是一个面向主题的、集成的、非易失的、随着时间变化的,用于支持管理人员决策的数据集合,数据仓库包含粒度化的企业数据,在不同的粒度级别上对数据进行聚合,这样,数据仓库中就存在最细节的原始数据、轻度聚合数据、高度聚合数据。
二、数据仓库的特点
集成性:数据仓库需要将多个数据源的数据存到一起,但是这些数据以前的存储方式不同,所以需要经过抽取、清洗、转换的过程。
主题性:数据仓库是针对某个主题来进行组织,比如滴滴出行,司机行为分析就是一个主题,所以可以将多种不同的数据源进行整合。而传统的数据库主要针对某个项目而言,数据相对分散和孤立。
时变性:会定期接收到新的数据,反应出最新的数据变化。
稳定性:保存的数据是一系列历史快照,不允许修改,只能分析。
三、数据仓库的价值
随着大数据时代的到来,面对爆发式增长的数据,如何将这些数据有序、有结构的分类和组织存储是我们面临的一个挑战。而数据仓库理论可以将数据有序的组织和存储起来之后(即模型)。而优秀的数据仓库价值主要体现在以下几个方面:
成本:实现公共数据的共享,提升复用能力,降低大数据系统的存储和计算成本;
性能:良好的数据模型以及适当的数据冗余和维度退化以提升查询分析速度,减少数据获取的成本;
效率:良好的数据模型极大的改善用户使用数据的体验,提高使用数据的效率;
质量:实现应用与源数据的解耦,降低源数据变动对应用的影响,提升应用的健壮性,同时减少数据计算错误的可能性。
四、数据仓库如何实现
数据仓库分为4层:ODS层(原始数据层)、DWD层(明细数据层)、DWS层(服务数据层)、ADS层(数据应用层)。
ODS层(原始数据层):存放原始数据,直接加载原始日志、数据,数据保存原貌不做处理;
DWD层(明细数据层):结构与粒度原始表保持一致,对ODS层数据进行清洗(去除空值、脏数据、超过极限范围的数据);
DWS层 (服务数据层):以DWD为基础,进行轻度汇总;
ADS层 (数据应用层):为各种统计报表提供数据。