为什么要对数据仓库分层?

存储在ODS层的数据显然是不能直接使用的,要经过层层处理;如果一步到位计算出各类指标将来业务变化的时候又要重头开始开发一遍,因此数据仓库分层是很有必要的。

数据仓库分层主要有以下几点好处:

1.把复杂问题简单化。

可以将一个复杂的任务分解成多个步骤来完成,每层只处理单一的一个步骤。

2.减少重复开发。

数据在每一层进行特定的处理,保留了大量的中间层数据,将来业务变更的时候可以从已有的中间层数据重新计算而不需要重头再来,大大地减少了重复开发;

3.便于管理使用。

通过分层可以看到数据在整个仓库中的流转,方便掌握数据的生命周期,每一层负责特定的职责,便于使用者理解使用。

数据仓库分层通常分为以下三层:DWD、DWM、DWS。每一层的功能如下:

1) 数据明细层:DWD(Data Warehouse Detail)DWD层直接与ODS层接触,ODS层的数据经过ETL后流向该层,一般保持和ODS层一样的数据粒度。

DWD层的主要工作有以下几点:
① 数据质量保证ODS层的异常值、缺失值等等数据问题在这一层中解决,视具体情况进行数据矫正或者补充默认值或者直接丢弃。
② 维度退化在本层同时也要开始为后续的数据使用做准备,之前维度建模的事实表和维度表后续使用的话需要进行大量的事实表维度表关联,显然效率是非常低下的;在DWD层将一些维度退化至事实表中以减少关联,即提前关联好各维度以便后续使用。
③ 数据聚集ODS层的数据来源各种各样,有些数据属于同一个主题的但是来源不同,因此存在于不同表之中,需要将不同来源但是属于相同主题的数据汇总到同一张表之中。

2)数据中间层:DWM(Data WareHouse Middle)DWM层的作用是进行数据聚合,即计算出一些公共指标,生成一系列中间表,方便后续使用方直接取数,本层的数据聚合保留较细的维度;这一层视具体业务而定,如果业务比较简单可以不需要这一层。

3)数据服务层:DWS(Data WareHouse Servce)DWS层即我们熟知的数据集市或者大宽表。本层将DWM层的指标数据按主题进行汇总,生成一些字段较多的大宽表,即将各个指标都放在一张表中,方便使用方直接从表里面取数不需要进行任何计算。

由于将各种指标都合并到一张表中,DWS层的表不会太多,一张表包含了较多的业务内容,多指标的整合也注定了DWS层的数据表里面的维度不会太多,仅保留各指标共有的常用的一些维度。

了解更多大数据相关课程技术欢迎关注小编!
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值