(星型、雪花、星座、交叉连接)多维数据模型各种类型优劣分析

概述

在数据仓库的建设中,一般都会围绕着星型模型和雪花模型来设计表关系或者结构,同时从模型中又衍生出星座模型和交叉模型。下面我们先来理解这几种模型的概念和比较。

事实 和 维度

我们先来了解一下事实和维度。

事实,表示的是某一个业务度量。比如说订单的金额,订单中出售商品的数量。维度模型中的事实表存放的就是这些业务度量,也就是业务过程中事件的性能度量结果。《数据仓库工具箱》中有这样一段描述:

物理世界的每一个度量事件与对应的事实表行具有一对一的关系,
这思想是维度建模的基本原则,其他的工作都是以此为基础建立的。

事实就是一个具体发生的业务过程的状态,以及用来描述该具体的业务过程的指标构成的一行记录,多行记录就构成一张事实表。比如一个订单就是一个事实,而多个事实聚集而成的一张二维表就是事实表。

维度,维度是事实不可或缺的组成部分,维度就是事实的上下文,也就是用来描述事实发生时某个方面对应的状态。像是何时、何地、何人、发生了什么、怎么做、为什么这么做等。举个具体的例子,比如在18点,小明下了一个苹果的订单,那么在这里下了订单是事实,18点是时间维度,小明是用户维度,苹果是商品维度,通过这些谓词,我们就可以了解具体发生了什么,这个也是我们多为分析的一个基本朴素的思想。这些一个一个具体的维度聚集而成的二维表就是维度表,一般维度都是有限的。

星座模型 VS 雪花模型

星型模型:是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相来连接,不存在渐变维度,所以数据有一定的冗余。

使用星形模式主要有两方面的原因:提高查询的效率。采用星形模式设计的数据仓库的优点是由于数据的组织已经过预处理,主要数据都在庞大的事实表中,所以只要扫描事实表就可以进行查询,而不必把多个庞大的表联接起来,查询访问效率较高,同时由于维表一般都很小,甚至可以放在高速缓存中,与事实表进行连接时其速度较快,便于用户理解;对于非计算机专业的用户而言,星形模式比较直观,通过分析星形模式,很容易组合出各种查询。

比如:销售数据仓库中的星型模型
在这里插入图片描述

雪花模型

雪花模型:当有一个或多个维度表没有直接连接到事实表上,而是通过其他维度表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型去除了数据冗余。

雪花模型是对星形模型的扩展,每一个维度都可以向外连接多个详细类别表。
比如:销售数据仓库中的雪花模型
在这里插入图片描述

比较

1)星型模型因为数据的冗余所以很多统计查询不需要做外部的连接,因此一般情况下效率比雪花模型要高。
2)星型模型不用考虑很多正规化的因素,设计和实现都比较简单。
3)雪花模型由于去除了冗余,有些统计就需要通过表的连接才能产生,所以效率不一定有星型模型高。
4)正规化也是一种比较复杂的过程,相应的数据库结构设计、数据的ETL、以及后期的维护都要复杂一些。因此在冗余可以接受的前提下,实际运用中星型模型使用更多,也更有效率。

扩展:星座模型

星座模型也是星型模型的扩展。区别是星座模型中存在多张事实表,不同事实表之间共享维表信息,常用于数据关系更复杂的场景。其经常被称为星系模型。
一个复杂的商业智能应用往往会在数据仓库中存放多个事实表,这时就会出现多个事实表共享某一个或多个维表的情况,这就是事实星座,也称为星系模式(galaxy schema)。
在这里插入图片描述

扩展:交叉连接

从一张表到另一张表有多条筛选路径彼此相连接,属于交叉连接模式

在这里插入图片描述

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
星型模型雪花模型星座模型数据仓库中常见的数据模型,它们有一些区别。 1. 星型模型(Star Schema):星型模型是最简单和最常见的数据仓库模型。它由一个中心的事实表(Fact Table)和多个与之关联的维度表(Dimension Tables)组成。事实表包含与业务过程相关的度量(Measurements),而维度表包含描述度量的维度属性(Dimension Attributes)。星型模型具有简单的结构,易于理解和查询,适用于简单的分析场景。 2. 雪花模型(Snowflake Schema):雪花模型星型模型的基础上进行了维度表的规范化。维度表中的属性被进一步分解为多个细分的维度表,形成多层级的结构。这样可以减少数据冗余,提高数据存储效率,但也增加了查询的复杂性。雪花模型适用于具有复杂层次结构和大量维度属性的分析场景。 3. 星座模型(Constellation Schema):星座模型星型模型雪花模型的结合,它允许在一个数据仓库中同时使用多种模型。不同的事实表可以使用不同的数据模型,根据实际需求进行选择。星座模型提供了更大的灵活性和可扩展性,适用于复杂的分析和报表需求。 总结:星型模型是最简单的数据仓库模型雪花模型星型模型的基础上进行了维度表的规范化,星座模型星型模型雪花模型的结合,允许在一个数据仓库中同时使用多种模型。选择适合的数据模型取决于具体的业务需求、数据结构和查询复杂性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真不爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值