在阅读本文之前,我们先来了解几个基本的概念。
数据仓库(Data Warehouse)简称DW或DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计的一种新数据库,而这个数据库是需容纳更多的数据,更加庞大的数据集。 数据仓库主要是用于数据挖掘和数据分析,让不同来源的数据能够联系在一起,为消灭消息孤岛和支持决策为目的而创建的。
这是每个数据仓库同学在设计数据分层时第一个要被挑战的灵魂问题。 作为一名数据的规划者,我们肯定希望自己的数据能够有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知到。但是,大多数情况下,我们完成的数据体系却是依赖复杂、层级混乱的。这样子后期不仅维护起来困难,并且还会产生很多重复的计算,造成资源大量的浪费。
数仓常见基础模型分为三层:原始数据层( ODS )、数据仓库层(DW)和数据应用层(APP)。简单来讲,我们可以理解为:ODS层存放的是接入的原始数据,DW层是存放我们要重点设计的数据仓库中间层数据,APP层是面向业务定制的应用数据。
数据特点
ODL(操作数据层) (1)数据集结构及数据集间关系都和数据源基本保持一致; (2)数据集多为增量抽取,产生大量的Delta数据集;IDL (集成数据层) (1)明细数据,按照业务主题分类,以业务为驱动设计表结构和表间关系; (2)数据集成,基于3NF设计模型,并在语义层达到统一和标准CDL (元件数据层) (1)数据模型相对稳定,无衍生指标,轻度汇总; (2)多维模型:分析对象的状态(静态、描述)数据和相关事实表或维表关联形成以冗余宽表为中心的雪花或星型模型; (3)基础指标库:分析对象的行为(主动、被动)数据汇总而成的一系列基础指标库;MDL(数据集市层) (1)数据模型相对稳定,有衍生指标; (2)宽表模型:基础指标群、多维模型数据和相关事实表或维表关联形成通用或定制的冗余宽表; (3)多角度汇总:从多个角度分析的汇总模型;ADL(应用数据层) (1)数据模型不稳定,随着应用的变更随时变化或下线; (2)数据高度汇总,可做交叉分析等多维分析操作; (3)更高级的数据分析或挖掘应用,衍生出信息类、知识类数据