数据仓库建模

简介: 数据仓库建模

1 常见的建模方法

1.1. 星型模型

星型模型是一种多维的数据关系,它由一个事实表和一组维度表组成。每个维度表都有一个维作为

主键,所有这些维的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事

实表,最终形成一个宽表。如下图所示(事实表):

1.2. 雪花模型

当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,就

像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层

次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 "层次 " 区域,这些被分解的表都连接

到主维度表而不是事实表。如下图所示:

6d50f7f7423a40c7b66b2df14d0233f6.png

2 数据分层方法

1)ODS层 --数据运营层

ODS(Operational Data Store)层数据是原始业务操作数据,即与采集的原始数据对应,数据经过

初步过虑后存储到ODS层。

2)DW层 – 数据仓库层

DW(Data Warehouse)存储经过清洗后的数据、初步数据聚合后的数据、为业务层需求存储的宽

表数据。

此层分为三层:

DWD(Data Warehouse Detail):存储明细数据,此数据是最细粒度的事实数据。

DWM(Data WareHouse Middle):存储中间数据,为数据统计需要创建的中间表数据,此数据一

般是对多个维度的聚合数据,此层数据通常来源于DWD层的数据。

DWS(Data WareHouse Service):存储宽表数据,此层数据是针对某个业务领域的聚合数据,业

务层的数据通常来源与此层,为什么叫宽表,主要是为了业务层的需要在这一层将业务相关的所有数据

统一汇集起来进行存储,方便业务层获取。此层数据通常来源与DWS层的数据。

3)APP层 – 业务层

存储业务层所需要的数据,如:数据分析、数据查询等。

4)Dimension维度层

存储所有维度数据,通常维度数据会DW层使用,也可能被多个主题库所共用。

如下图所示:

4f2450baf8b64b5f9976c291d83d6b88.png


2.1 调用原则

2316b2a100f84d10945dfab44c62d71d.png


3 数据仓库分层

3.1 空间换时间

通过建设多层次的数据模型供用户使用,避免用户直接使用操作型数据,可以更高效的访问数据。把复

杂问题简单化。讲一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易

理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题

的步骤开始修复。便于处理业务的变化。随着业务的变化,只需要调整底层的数据,对应用层对业务的

调整零感知。


3.2 分层的价值

1.易维护

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

2.高性能

数据仓库的构建将大大缩短获取信息的时间,数据仓库作为数据的集合,所有的信息都可以从数据

仓库直接获取,尤其对于海量数据的关联查询和复杂查询,所以数据仓库有利于实现复杂的统计需

求,提高数据统计的效率。

3.简单化

讲一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且

便于维护数据的准确性。

4.存档

记录历史是数据仓库的特性之一,数据仓库能够还原历史时间点上的产品状态、用户状态、用户行

为等,以便于能更好的回溯历史,分析历史,跟踪用户的历史行为,更好地比较历史和总结历史,

同时根据历史预测未来。


c822c0123b044c0a9caf4ea3d0501908.png

目录
相关文章
|
12天前
|
存储 数据采集 大数据
数据仓库建模规范思考
本文介绍了数据仓库建模规范,包括模型分层、设计、数据类型、命名及接口开发等方面的详细规定。通过规范化分层逻辑、高内聚松耦合的设计、明确的命名规范和数据类型转换规则,提高数据仓库的可维护性、可扩展性和数据质量,为企业决策提供支持。
91 10
|
6月前
|
存储 SQL 分布式计算
离线数仓(五)【数据仓库建模】(4)
离线数仓(五)【数据仓库建模】
|
6月前
|
SQL 存储 关系型数据库
离线数仓(五)【数据仓库建模】(1)
离线数仓(五)【数据仓库建模】
离线数仓(五)【数据仓库建模】(1)
|
存储 数据挖掘 关系型数据库
数仓学习---6、数据仓库概述、 数据仓库建模概述、维度建模理论之事实表、维度建模理论之维度表
数仓学习---6、数据仓库概述、 数据仓库建模概述、维度建模理论之事实表、维度建模理论之维度表
离线数仓(五)【数据仓库建模】(3)
离线数仓(五)【数据仓库建模】
|
6月前
|
存储 SQL JSON
离线数仓(五)【数据仓库建模】(2)
离线数仓(五)【数据仓库建模】
|
7月前
|
数据挖掘 数据库
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
离线数仓6.0--- 数据仓库 ER模型-范式理论,维度模型、维度建模理论之事实表、维度建模理论之维度表
316 0
|
存储 BI 数据库
数据仓库(4)基于维度建模的数仓KimBall架构
基于维度建模的KimBall架构,将数据仓库划分为4个不同的部分。分别是操作型源系统、ETL系统、数据展现和商业智能应用,如下图。
311 1
|
大数据 数据管理 数据库
数据仓库(3)数仓建模之星型模型与维度建模
维度建模是一种将数据结构化的逻辑设计方法,也是一种广泛应用的数仓建模方式,它将客观世界划分为度量和上下文。度量是常常是以数值形式出现,事实周围有上下文包围着,这种上下文被直观地分成独立的逻辑块,称之为维度。它与实体-关系建模有很大的区别,实体-关系建模是面向应用,遵循第三范式,以消除数据冗余为目标的设计技术。维度建模是面向分析,为了提高查询性能可以增加数据冗余,反规范化的设计技术。
481 1
|
存储 SQL 数据挖掘
数据仓库-维度建模不是万金油
写在前面:最近有些抵触写东西,总感觉自己没有清晰的表达思路和专业的知识体系,写的东西都是更偏向个人经验的一家之谈;之前总想着把文章结构做好,图片做好,表达做好,这样能更容易让大家理解,可以让更多的人接受所要表达的观点;但是,这样写太痛苦了,似乎是为了达到某种结果而刻意为之。。。最终还是回归表达的本质,传播思路和想法,把这个说清楚就可以了,不管是三言两语还是长篇大论,让看到的人能知道有这么一种观点和
144 0

热门文章

最新文章