数据仓库中的维度建模是什么?学习类型

⚡ 智能摘要

数据仓库设计中的维度模型将信息组织成事实表和维度表,以便分析师可以快速检索和汇总数值度量,遵循 Kimball 五步法,该方法确定业务流程、粒度、维度、事实和最终模式。

  • 🎯 核心宗旨: 与为实时事务构建的关系模型不同,维度模型针对数据仓库进行了调整,以实现快速读取和报告。
  • 🧱 建筑模块: 事实包含数值度量,而维度及其属性则提供了每个事实的“人”、“事”和“地”的背景信息。
  • ???? 事实表和维度表: 事实表存储度量值和外键;非规范化维度表存储描述性属性和层次结构。
  • 🪜 五步法: 确定业务流程,设定粒度,选择维度,选择事实,然后构建模式。
  • 模式选择: 星型模式为了提高速度而保持维度非规范化,而雪花模式为了节省存储空间而对维度进行规范化。
  • 🚀 主要优势: 标准化的、对业务友好的维度可以提高查询性能,并允许以最小的干扰添加新维度。

数据仓库中的维度模型,显示事实表和维度表

什么是维度建模?

维度建模 (DM) 是一种针对数据仓库数据存储进行优化的数据结构技术。其目的是优化数据库,以加快数据检索速度。该概念由 Ralph Kimball 提出,并围绕两种表类型构建:“事实表”和“维度表”。

数据仓库中的维度模型旨在读取、汇总和分析数值信息,例如值、余额、计数和权重。相比之下,关系模型则针对实时在线事务处理系统中的数据添加、更新和删除进行了优化。

这些方法各自以不同的方式存储数据,并且各自具有独特的优势。

在关系模型中,规范化和实体关系模型(ER模型)可以减少数据冗余。而维度模型则通过对数据进行排序,使信息更易于检索,报告更易于生成。

因此,维度模型适用 数据仓库 系统而非事务密集型关系系统。因为该模型是更广泛的系统的基础。 数据仓库架构以下各节将详细介绍其要素、类型和设计步骤。

维度数据模型的元素

事实

事实是指从业务流程中提取的测量值或指标。例如,在销售流程中,季度销售额就是一个事实——企业想要分析的数值。

维度

维度提供了业务流程事件的上下文。简单来说,维度提供了事实的“人”、“事”和“地点”。例如,“季度销售额”这一事实的维度包括:

  • 谁——客户名称
  • 地点
  • 产品名称

换句话说,维度就像一扇窗,透过它你可以观察事实中所包含的信息。

Attributes

属性是维度数据模型中某个维度的各种特征。

在位置维度中,属性可以是:

  • 国家
  • 邮政编码

属性用于搜索、筛选和分类事实,而维度表则是这些属性的存放位置。

事实表

事实表是维度模型中的主表。

事实表包含:

  1. 测量或事实
  2. 维度表的外键

尺寸表

维度表存储事实表的维度信息,并通过外键与事实表连接。其主要特点如下:

  • 维度表是非规范化的表。
  • 维度属性构成表格的列。
  • 维度通过其属性提供事实的描述性特征。
  • 维度数量没有固定限制。
  • 一个维度可以包含一个或多个层级关系。

数据仓库中的维度类型

尺寸建模使用多种尺寸标注方式,每种方式都适用于特定的设计需求。 数据仓库中的维度类型 是:

  • 符合尺寸
  • 支腿尺寸
  • 缩小尺寸
  • 角色扮演维度
  • 维度到维度表
  • 垃圾维度
  • 退化维度
  • 可更换尺寸
  • 步进尺寸

维度建模的步骤

维度建模的准确性决定了数据仓库实施的成败。构建维度模型需要五个步骤:

  1. 识别业务流程
  2. 辨别颗粒(细节程度)
  3. 确定尺寸
  4. 找出事实
  5. 构建模式

总的来说,最终的模型应该描述您的业务流程的原因、数量、时间、地点、人员和内容。

数据仓库中维度建模的五个步骤

步骤 1)确定业务流程

首要任务是根据组织的实际情况,确定仓库应该涵盖哪些业务流程——例如市场营销、销售、人力资源等等。 数据分析 需求以及可用数据的质量。这是最关键的一步,因为这一步一旦出错,就会引发一系列难以修复的连锁问题。

要描述业务流程,您可以使用纯文本、业务流程建模符号 (BPMN) 或统一建模语言 (UML)。UML).

步骤 2)识别谷物

粒度定义了业务问题的详细程度——存储在任何表中的最低信息级别。

如果一个表包含每天的销售额,则其粒度为每日;如果该表包含每月总计,则其粒度为每月。

在此阶段,您需要回答以下问题:

  1. 仓库应该存储所有可用的产品,还是只存储几种产品?这取决于所选的业务流程。
  2. 产品销售数据应该按月、周、日还是小时存储?这取决于高管要求的报告类型。
  3. 这两个选择会如何影响数据库大小?

例如谷物: 想象一下,一家跨国公司的首席执行官想要查看特定产品在不同地区的每日销售情况。

在这种情况下,粮食就变成了“按地点按天统计的产品销售信息”。

步骤 3)确定尺寸

维度是诸如日期、商店、库存之类的名词,它们包含描述性数据。

例如,日期维度可以包含年份、月份和星期几。

尺寸示例: 每日销售额要求决定了尺寸的选择。

在这种情况下,维度包括产品、地点和时间。

产品维度包含产品键(外键)、名称、类型和规格等属性。

位置维度按层级结构组织:国家、州/省、城市、街道地址和名称。

第四步)查明事实

这一步骤与系统的业务用户密切相关,因为它定义了他们从数据仓库中获取的数据。

事实表中的大部分行都是数值,例如价格或单位成本。

事实示例: 每日销售额要求再次界定了背景。

这里,实际数字是按产品、地点和时间划分的销售额总和。

步骤 5)构建架构

最后一步,您需要实现维度模型。模式(schema)就是数据库结构——即表的排列方式——其中两种模式尤为常见。

第一个是 星型模式这种表格设计简单,因其形状而得名:一个中央事实表,维度表像星形的角一样向外辐射。

在星型模式中,事实表采用第三范式,而维度表则采用反规范化; 数据仓库建模中的星型模式 本指南将通过一个完整的示例进行讲解。

二是 雪花模式这是星型模式的一种扩展,其中每个维度都被规范化并链接到其他维度表,如本文所述。 数据仓库模型中的雪花模式 指南。

维度建模规则

以下规则和原则指导有效的维度建模:

  • 将原子数据加载到维度结构中。
  • 围绕业务流程构建维度模型。
  • 确保每个事实表都有一个关联的日期维度表。
  • 将所有事实保存在同一个事实表中,并保持相同的粒度或详细程度。
  • 报表标签和筛选域值存储在维度表中。
  • 给每个维度表一个代理键。
  • 不断权衡需求与实际情况,以提供支持业务决策的解决方案。

维度建模的好处

尺寸建模具有许多实际优势:

  • 标准化的维度使得企业各个领域的报告能够变得轻松、一致。
  • 维度表存储维度信息的历史记录。
  • 可以在不严重干扰事实表的情况下引入新的维度。
  • 数据存储的方式是为了便于日后在数据库中检索。
  • 与规范化模型相比,维度表更容易理解,因为信息被分组到清晰的业务类别中。
  • 该模型基于业务术语,因此企业知道每个事实、维度或属性的含义。
  • 由于该模型是非规范化的,因此它针对快速查询进行了优化,许多关系平台也针对该模型优化了其执行计划。
  • 该模式通过减少连接次数和最大限度地减少数据冗余,实现了高性能。
  • 维度模型能够轻松适应变化,因为可以在维度表中添加列而不会影响现有的商业智能应用程序。

什么是数据仓库中的多维数据模型?

A 多维数据模型 数据以数据立方体的形式表示,允许您跨由维度和事实定义的多个维度对数据进行建模和查看。这种模型通常围绕一个中心主题组织,并用事实表表示,它构成了以下基础: OLAP 分析。

常见问题

事实表存储业务流程的数值度量以及指向维度的外键。维度表存储描述性的、非规范化的属性(例如产品、位置或日期),这些属性为这些度量提供筛选和分组所需的上下文。ping.

事实可分为可加性、半可加性和非可加性。可加性事实,例如销售额,在所有维度上都能相加。半可加性事实,例如账户余额,在某些维度上可以相加,但在时间维度上则不行。非可加性事实,例如比率或百分比,无法进行有意义的相加。

A 星型模式 雪花模式将每个维度保存在一个非规范化的表中,从而简化连接并加快查询速度。雪花模式将维度规范化到相关的子表中,虽然节省了存储空间,但增加了连接操作和复杂性。星型模式是更常见的分析选择。

代理键是由系统生成的整数,用作维度的主键,而不是自然的业务键。它使数据仓库不受源系统变更的影响,加快连接速度,并使以下操作成为可能: trac一个维度内发生的k次历史变化。

缓慢变化维度是指其属性值随时间变化的维度,例如客户地址。常见的策略包括覆盖旧值(类型 1)、添加新行以保留历史记录(类型 2)或将先前的值存储在单独的列中(类型 3)。

Ralph Kimball 的维度建模从星型模式数据集市自下而上地构建数据仓库,这些数据集市针对报表进行了优化。 Bill Inmon 的方法首先构建一个自上而下、标准化的企业级数据仓库,然后再从中衍生出商品集市。Kimball 的交付速度更快,而 Inmon 则更注重企业范围内的一致性。

人工智能工具可以分析源数据,推荐候选事实和维度,建议数据粒度,并标记冗余属性。它们可以加快设计和文档编写速度,但数据工程师仍应在模型投入生产之前验证每个事实、维度和层级结构。

是的。 ChatGPT 能够绘制星型方案设计图并解释权衡取舍, GitHub 副驾驶 自动补全事实表和维度表的 SQL 语句。 Rev运行前请查看其输出,确保粒度、键和连接正确。

总结一下这篇文章: