数据仓库建模与分层

数据仓库建模与分层

一. 基本理解

定义: 面向主题的,集成的,相对稳定的,反映历史变化的 数据集合,用于支持管理决策。

  1. 什么是主题

    实体 + 事件

  2. 怎样划分主题

    实体:业务关系的对象 ,可以是一个 人 或者 物, 比如:用户 , 订单

    事件:业务过程, 比如: 报名,注册 ,购买,退费

  3. 如何相对稳定

    数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,修改和删除操作很少,通常只需要定期的加载、刷新。

二. 数据仓库建模

Inmon理论:自上而下。先以范式建模构建企业数据长仓库,再以维度建模设计数据集市。

特点:1. 一份数据,没有数据冗余,保证数据一致性;

​ 2. 解耦(系统级不业务级),方便维护;

​ 3.开収周期较长,开収成本较高;

Kimball理论:自下而上。提倡维度建模,以星形模型戒是雪花模型等方式构建维度数据仓库、数据集市。

特点:1. 模型结构简单,星型模型为主;

​ 2. 开収周期短,能够快速迭代;

​ 3. 维护成本较高;

在这里插入图片描述

1. 纬度建模

一般有3种模型:星型模式, 雪花模式, 星座模式

  • 星型模式 : 星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。
    维表只和事实表关联,维表之间没有关联。
    在这里插入图片描述

  • 雪花模式 : 雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用。

    在这里插入图片描述

  • 星座模式 : 星座模式是星型模式延伸来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息
    前面介绍的两种维度建模方法都是多维表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大部分维度建模都采用的是星座模式。

    在这里插入图片描述

2. 范式建模

如上所述:是以业务过程对数据进行整理, 是自上而下。

  • 范式建模应用在DWD层,是原子粒度的。
  • 一个符合第三范式的关系必须具有以下三个条件:
    1. 每个属性的值唯一,不具有多义性;
    2. 每个非主属性必须完全依赖于整个主键,而非主键的一部分;
    3. 每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去。
  • 但是由于DWD的数据是原子粒度的,数据量比较大,完全规范的3范式在数据的交互的时候效率比较低下,所以通常会根据实际情况在事实表上做一些冗余,减少过多的数据交互。

三. 数据仓库分层

ODS层(Operational Data Store)

该层的主要功能是存储从源系统直接获得的增量或者全量数据。

DIM层(Dimension)

一致性维度层,存储系统中的维度信息。DIM层维度表以ODS层数据作为数据来源进行数据加工产生。

DWD层(Data Warehouse Detail)

业务过程进行数据组织,更多的采用维度退化手段,将维度及部分重要维度属性退化至事实表中,减少维度表和事实表的关联。

面向业务过程、以数据 为驱动设计模型,并且基于3NF范式进行建模,完成数据整合,为数据的应用提供统一的基础细节数据。数据在该层级完成清洗、解耦、重定义、整合分类等,实现企业级数据模型的落地。

DWS层(Data Warehouse Summary)

主题域组织数据,对DWD层或ODS层数据进行微聚合产生。使用纬度建模。

主要功能是以分析需求为驱动进行数据模型设计,实现跨业务主题域数据的关联计算或者轻度汇总计算,从而支持上层的统计分析需求

在该层实现指标的统一计算口径,实现了指标的一次计算多次复用 的多维数据模型;实现了核心业务实体的基础特征库,为深入的业 务分析提供数据支持。

DM层(Data Market)

按业务主题组织高度汇总数据,产出通用的指标数据,统一指标计 算口径和方法,避免指标冗余计算导致数据不一致。

采用维度建模,符合人的认知、易亍理解,利亍数据的使用。采用星型 星座模型。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36998916/article/details/115083730