数仓设计

数仓设计

1. 数仓的基本概念

1
数据仓库: 存储数据的仓库, 主要用于存储过去历史发生过的数据,面向主题, 对数据进行统计分析的操作, 从而能够对未来提供决策支持
  1. 特点:不生产数据也不消耗数据

  2. 四大特性

    • 面向主题
    • 数据集成
    • 相对稳定(非易失的)
    • 时变的
  3. OLAP和OLTP

    1. OLAP:面向分析处理(On-line Analytical Processing)

    2. OLTP:面向事务处理(On-line Transcation Processing)

    3. 区别:

      OLAP OLTP
      功能 面向分析查询 面向交易的事务处理
      数据 最新数据,二维数据 历史数据,多维
      设计 面向主题 面向业务
      响应时间
      存储 TB\PB\EB MB\GB
      用户 业务人员 管理决策人员
  4. ETL

    1. extract抽取
    2. transfer数据转换
    3. load数据加载
    1
    ETL: 指的数据从ODS层抽取出来, 对ODS层的数据进行清洗转换处理的操作, 将清洗转换后的数据加载到DW层过程
  5. 数据集市

    1
    2
    3
    4
    5
    数据仓库是包含数据集市的, 在一个数据仓库中可以有多个数据集市

    数据仓库: 一般指的构建集团数据中心, 基于业务形成各种业务的宽表或者统计宽表

    数据集市: 基于部门或者基于主题, 形成主题或者部门相关的统计宽表
  6. 数仓分层

1
2
3
4
5
6
7
8
ODS: 源数据层(临时存储层) 贴源层
作用: 对接数据源, 用于将数据源的数据完整的导入到ODS层中, 一般ODS层的数据和数据源的数据保持一致, 类似于一种数据迁移的操作, 一般在ODS层建表的时候, 会额外增加一个 日期的分区, 用于标记何时进行数据采集

DW: 数据仓库层
作用: 用于进行数据统计分析的操作, 数据来源于 ODS层

APP(DA|ADS | RPT |ST) : 数据应用层(数据展示层)
作用: 存储分析的结果信息, 用于对接相关的应用, 比如 BI图表

2. 数仓建模论

2.1 关系建模

2.2 维度建模