数仓分层

1.分层目的

  数据能够有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知到

  层次清晰、依赖关系直观

 

2.分层的优点:

清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解

减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算

统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径

复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题

 

3.一种通用的数据结构

ODS层:贴源层(近源层)

               来源于各个业务系统数据

               为了后续能够追溯问题,ods层一般不做过多的数据清洗工作,直抽各个业务系统数据,可以做部分的ETL清洗,如统一单位、命名、编码等

 

 DW层:数据仓库层

              数据仓库的核心层。从ods获取数据按照主题建立数据模型。

     可细分为:DWD(数据明细层)  DWM(数据中间层)  DWS(数据中间层)

              DWD:保存跟ods层一样的数据粒度,并提供一定的数据质量保证。

        为提高明细的易用性,减少事实表与维表的关联,该层会采用维度退化手段,将维度退化至事实表中。

        该层也会做数据聚合,将相同主题的数据汇集至一张表中

    DWM:在DWD数据基础上,做轻度聚合,生成一系列中间表,提高公共指标的复用性,减少重复加工

       即:对通用的核心维度进行聚合操作

    DWS:数据集市/宽表

       按照业务划分,生成字段较多的宽表,用于提供后续的业务查询,olap分析,数据分发等。

         该层的数据表相对较少,一张表会涵盖比较多的业务内容,由于字段数较多,因此会称该层的表为宽表

 ADS:数据应用层

    提供给数据产品,数据分析使用的数据。

DIM:维表层

            高基数维度数据:用户资料表、商品信息表  数据量上千万 上亿

            低基数维度数据:配置表,数据量在个位数 或者几千几万

posted @ 2019-05-17 11:12  问题不大1  阅读(4375)  评论(0编辑  收藏  举报