• 数仓分层


    1.分层目的

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

      层次清晰、依赖关系直观

    2.分层的优点:

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

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

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

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

    3.一种通用的数据结构

    ODS层:贴源层(近源层)

                   来源于各个业务系统数据

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

     DW层:数据仓库层

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

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

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

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

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

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

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

        DWS:数据集市/宽表

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

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

     ADS:数据应用层

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

    DIM:维表层

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

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

  • 相关阅读:
    缓冲区溢出攻击练习
    小例子背后的大道理——从DIP中“倒置”的含义说接口的正确使用
    关于.NET里String.Compare与C++的不同,请高人解释下为什么这样?
    详解Adorner Layer
    百度文库手机版通信协议分析
    这段.NET Framework的源代码似乎有很大的优化空间
    在ListView的GroupItem头中显示每列的Summary
    随机抽奖
    MySQL的多表查询(笛卡尔积原理) 1
    采用Apache服务器的虚拟主机设置伪静态教程
  • 原文地址:https://www.cnblogs.com/yin-fei/p/10880287.html
Copyright © 2020-2023  润新知