zoukankan      html  css  js  c++  java
  • 数仓建模

    • 基本概念:

      • 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 模型

    数仓分层

    • 为何要对数仓分层?

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

      img

      • Staging 层

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

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

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

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

      • DWS (Data Warehouse Summary) 层

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

        • 偏应用层m 各种报表的输出。
        • 存放数据产品个性化的统计指标数据, 主要面向前段展现
  • 相关阅读:
    Java程序设计之算出一年第多少天
    Java程序设计之打印100~999的水仙花数
    AJAX提交方法(POST)Demon
    AJAX提交方法(GET)Demon
    java程序设计线程池(newCachedThreadPool())
    java线程池(newSingleThreadExecutor())小应用
    Java程序设计之线程池应用
    java程序设计之反弹高度
    java程序设计之完数
    iOS UIView 基本属性用法
  • 原文地址:https://www.cnblogs.com/ronnieyuan/p/11797734.html
Copyright © 2011-2022 走看看