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

这篇具有很好参考价值的文章主要介绍了(星型、雪花、星座、交叉连接)多维数据模型各种类型优劣分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

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

事实 和 维度

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

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

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

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

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

星座模型 VS 雪花模型

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

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

比如:销售数据仓库中的星型模型
(星型、雪花、星座、交叉连接)多维数据模型各种类型优劣分析

雪花模型

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

雪花模型是对星形模型的扩展,每一个维度都可以向外连接多个详细类别表。
比如:销售数据仓库中的雪花模型
(星型、雪花、星座、交叉连接)多维数据模型各种类型优劣分析

比较

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

扩展:星座模型

星座模型也是星型模型的扩展。区别是星座模型中存在多张事实表,不同事实表之间共享维表信息,常用于数据关系更复杂的场景。其经常被称为星系模型。
一个复杂的商业智能应用往往会在数据仓库中存放多个事实表,这时就会出现多个事实表共享某一个或多个维表的情况,这就是事实星座,也称为星系模式(galaxy schema)。
(星型、雪花、星座、交叉连接)多维数据模型各种类型优劣分析

扩展:交叉连接

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

(星型、雪花、星座、交叉连接)多维数据模型各种类型优劣分析文章来源地址https://www.toymoban.com/news/detail-471866.html

到了这里,关于(星型、雪花、星座、交叉连接)多维数据模型各种类型优劣分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化...

    原文链接:http://tecdat.cn/?p=25158 本文介绍具有分组惩罚的线性回归、GLM和Cox回归模型的正则化路径。这包括组选择方法,如组lasso套索、组MCP和组SCAD,以及双级选择方法,如组指数lasso、组MCP ( 点击文末“阅读原文”获取完整 代码数据 )。 还提供了进行交叉验证以及拟合后

    2024年02月16日
    浏览(46)
  • OLAP多维语义模型(一)

    为了严谨起见,在正式内容之前,先把OLAP多维语义模型是什么说明一下。 先说OLAP(Online Analytical Processing),它是和OLTP相对的概念,关于这两个概念的详细解释网上有很多。严格的来说OLAP与多维数据没有必然的联系,基于关系模型、图模型、时序模型或者其他数据模型的在

    2024年02月03日
    浏览(48)
  • 实例讲解C++连接各种数据库,包含SQL Server、MySQL、Oracle、ACCESS、SQLite 和 PostgreSQL、MongoDB 数据库

      C++ 是一种通用的编程语言,可以使用不同的库和驱动程序来连接各种数据库。以下是一些示例代码,演示如何使用 C++ 连接 SQL Server、MySQL、Oracle、ACCESS、SQLite 和 PostgreSQL、MongoDB 数据库。 连接 SQL Server 数据库 要使用 C++ 连接 SQL Server 数据库,可以使用 Microsoft 的 ADODB 库。以

    2024年02月05日
    浏览(66)
  • 软件测试|深入理解SQL CROSS JOIN:交叉连接

    简介 在SQL查询中,CROSS JOIN是一种用于从两个或多个表中获取所有可能组合的连接方式。它不依赖于任何关联条件,而是返回两个表中的每一行与另一个表中的每一行的所有组合。CROSS JOIN可以用于生成笛卡尔积,它在某些情况下非常有用,但在其他情况下可能会导致结果集过

    2024年01月24日
    浏览(53)
  • 为什么网线接法要分交叉连接和直连连接两种方式

    水晶头有两种连接方式T568A和T568B。网线的两头都使用同一标准连接就是直连线,两头使用不同的标准就是交叉线。 ** ** 如下图所示: 电脑连接路由器等其他设备的时候需要使用直连线。 相同设备使用交叉线,比如路由器和路由器之间,电脑和电脑之间。 结论:简单理解就是

    2024年02月05日
    浏览(53)
  • 使用交叉验证评估模型

    交叉验证(cross-validation)是一种常用的模型评估方法,在交叉验证中,数据被多次划分(多个训练集和测试集),在多个训练集和测试集上训练模型并评估。相对于单次划分训练集和测试集来说,交叉验证能够更准确、更全面地评估模型的性能。 本任务的主要实践内容:

    2023年04月13日
    浏览(34)
  • [Machine learning][Part4] 多维矩阵下的梯度下降线性预测模型的实现

    目录 模型初始化信息: 模型实现: 多变量损失函数: 多变量梯度下降实现: 多变量梯度实现: 多变量梯度下降实现: 之前部分实现的梯度下降线性预测模型中的training example只有一个特征属性:房屋面积,这显然是不符合实际情况的,这里增加特征属性的数量再实现一次

    2024年02月06日
    浏览(44)
  • 【模型评估 05】Holdout、交叉检验、自助法

    机器学习中,我们通常把样本分为训练集和测试集,训练集用于训练模型,测试集用于评估模型。在样本划分和模型验证的过程中,存在着不同的抽样方法和验证方法。 Holdout检验 Holdout检验是最简单也是最直接的验证方法, 它将原始的样本集合随机划分成训练集和验证集两

    2024年01月20日
    浏览(38)
  • 使用sklearn函数对模型进行交叉验证

    交叉验证(Cross-Validatio),是用于在驯良过程中对训练模型的性能和参数进行评估选择的技术。 它的意义在于能够充分利用优先的数据集,减少数据分布不均匀以及随机性带来的模型评估误差。 交叉验证的作用就是将数据集分割成多个自己进行多次训练,每次训练的训练集

    2024年02月12日
    浏览(34)
  • 数据库如何合理生成主键:UUID、雪花算法

    目录 1.使用自增主键的弊端 2.主键生成算法 2.1.UUID 2.1.1.概述 2.1.2.JAVA中的UUID 2.2.雪花算法 2.2.1.概述 2.2.2.JAVA中使用雪花算法 首先在实际工程中我们很少用1,2,3......这样的自增主键,原因如下: 主键冲突 性能问题 安全问题 主键冲突: 比如我要跨数据库进行数据同步、或者

    2024年02月03日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包