数仓建模

  • 基本概念:
    • DW (Data Warehouse)
      • 是一个面向主题的(Subject Oriented), 集成的(Integrated), 相对稳定的(Non-Volatile), 反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
    • ODS (Operational Data Store)
      • 是一个面向主题的, 集成的, 可变的, 当前细节数据集合。
      • 用于支持企业对于即时性的, 操做性的, 集成的全体信息的需求。
      • 与数据仓库(DW)的区别:
        • ODS 是短时间的实时的数据, 供产品或者运营人员平常使用, 而数据仓库是供战略决策使用的数据
        • ODS是能够更新的数据, 数据仓库是基本不更新的反应历史变化的数据
        • ODS 做为数据库到数据仓库的一种过渡形式, 与数据仓库在物理结构上不一样, 能提供高性能的响应是见, ODS设计采用混合设计方式。
        • ODS中的数据是"实时值", 而数据仓库的数据倒是"历史值", 通常ODS中储存的数据不超过一个月, 而数据仓库为10年或更多。
    • DM (Data Mart)
      • 为了特定的应用目的或应用范围, 而从数据仓库中独立出来的一部分数据, 也可称为部门数据或主题数据(subjectarea)。
      • 在数据仓库的实时过程当中每每能够从一个部门的数据集着手, 之后再用几个数据集市组成一个完整的数据仓库。
      • 须要注意的是在实施不一样的Data Mart时, 同一含义的字段定义必定要相容, 这样再之后实施数据仓库时才不会形成大麻烦。
  • 基于如下两套经典理论:数据库

    • 范式模型数据结构

      • lnmon 提出的集线器的自上而下 (EDW-DW) 的数据仓库架构。
    • 维度模型架构

      • Kumball 提出的总线式的自下而上 (DM-DW) 的数据仓库架构。
      • 星型模型(便于OLAP分析), 雪花模型
    • 其余模型性能

      • Data Vault 模型设计

      • Anchor 模型ci

数仓分层

  • 为什么要对数仓分层?作用域

    • 简化复杂问题
      • 把一个复杂的人物分解成多个步骤来完成, 每一层只处理单一的步骤, 比较容易理解。
    • 使数据结构清晰
      • 每个数据分层都有它的做用域, 这样咱们在使用表的时候能更方便地定位和理解。
    • 提升数据的复用性
      • 规范数据分层, 经过中间层数据, 可以减小极大的重复计算, 增长一次计算结果的复用性。
    • 隔离原始数据
      • 不管是数据的异常仍是数据的敏感性, 使真实数据与统计数据解耦。
  • 分层结构产品

    img

    • Staging 层io

      • 预处理层, 存储天天的增量数据, 表和ODS层一致
    • ODS (Operational Data Store) 层基础

      • 操做数据层, 存储全部基础数据, 作简单的数据清洗
    • DWD (Data Warehouse Detail) 层

      • 数据明细层, 主要是一些宽表, 存储明细数据。

      • 采用维度退化的方法, 将维度退化到事实表中, 减小事实表和维度表的关联, 提升明细表的易用性。

    • DWS (Data Warehouse Summary) 层

      • 采用更多的宽表化
      • 针对不一样的维度进行数据聚合, 按主题进行划分, 属于维度建模的范畴。
    • ADS(Application Data Store) 层

      • 偏应用层m 各类报表的输出。
      • 存放数据产品个性化的统计指标数据, 主要面向前段展示
相关文章
相关标签/搜索