数据仓库快速入门教程9-维度模型
什么是维度模型?
维度模型是针对数据仓库工具优化的数据结构技术。维度建模的概念由Ralph Kimball开发,由“事实”和“维度”表组成。
维度模型旨在读取,汇总,分析数据仓库中的数值信息,如值,余额,计数,权重等。相反,关系模型被优化用于在实时在线交易系统中添加,更新和删除数据。
这些维度和关系模型具有独特的数据存储方式,具有特定的优势。
例如,在关系模式中,归一化和ER模型减少了数据冗余。相反,维度模型以这样的方式排列数据,使得更容易检索信息并生成报告。
因此,维度模型用于数据仓库系统,并不适合关系系统。
维度数据模型的要素
- 事实
事实是您的业务流程中的度量/指标或事实。对于销售业务流程,度量将是季度销售数量
-
尺寸
Dimension提供有关业务流程事件的上下文。简单来说,它们给出了事实的人,事,地点。在销售业务流程中,对于事实季度销售数量,维度将是:Who- 客户名称;Where- 位置;What- 产品名称。换句话说,维度是用于查看事实中的信息的窗口。 -
属性
属性是维度的各种特征。
在“位置”维度中,属性可以是州、国家、邮编等。属性用于搜索,过滤或分类事实。维度表包含属性。
- 事实表
事实表是维模型中的主表。
事实表包含:测量/事实;维度表的外键
- 尺寸表
维度表包含事实的维度。它们通过外键连接到事实表。维度表是非规范化表。维度属性是维度表中的各个列。Dimensions通过其属性提供事实的描述性特征。没有为尺寸数量设定限制。维度还可以包含一个或多个层次关系。
维度建模的步骤
创建维度建模的准确性决定了数据仓库实施的成功。以下是创建Dimension Model的步骤
确定业务流程;识别粒度(细节水平);识别尺寸;识别事实;打造明星
该模型应描述您的业务流程的 Why, How much, When/Where/Who 和业务流程
- 步骤1)确定业务流程
确定数据库应涵盖的实际业务流程。根据组织的数据分析需求,这可以是市场营销,销售,人力资源等。业务流程的选择还取决于该流程可用的数据质量。这是数据建模过程中最重要的一步,这里的失败会产生级联和无法修复的缺陷。
要描述业务流程,您可以使用纯文本或使用基本业务流程建模表示法(BPMN basic Business Process Modelling Notation )或统一建模语言(UML Unified Modelling Language )。
- 步骤2)识别粒度
粒度描述了业务问题/解决方案的详细程度。它是识别数据仓库中任何表的最低级别信息的过程。如果表包含每天的销售数据,那么它应该是每日粒度。如果表格包含每个月的总销售数据,则表格具有月度粒度。
在此阶段,您可以回答类似的问题
我们是否需要存储所有可用产品或仅存储几种类型的产品?此决定基于为Datawarehouse选择的业务流程。
我们是按月,按周,按日或按小时存储产品销售信息吗?该决定取决于高管要求的报告的性质。
以上两个选择如何影响数据库大小?
粒度的例子:
跨国公司的首席执行官希望每天在不同地点找到特定产品的销售额。
因此,粒度是“按地点分类的产品销售信息”。
- 步骤3事实是按产品按时间划分的销售总额。)确定尺寸
尺寸是名称,如日期,商店,库存等。这些尺寸是应存储所有数据的地方。例如,日期维度可能包含年,月和工作日等数据。
尺寸示例:
跨国公司的首席执行官希望每天在不同地点找到特定产品的销售额。
尺寸:产品,位置和时间
属性:对于产品:产品密钥(外键),名称,类型,规格
层次结构:用于位置:国家/地区,州,城市,街道地址,名称
- 步骤4)识别事实
此步骤与系统的业务用户共同关联,因为这是他们可以访问存储在数据仓库中的数据的位置。大多数事实表行都是数值,如价格或每单位成本等。
事实的例子:
跨国公司的首席执行官希望每天在不同地点找到特定产品的销售额。
这里的事实是按产品按时间划分的销售总额。
- 步骤5)构建架构
在此步骤中,您将实现维度模型。模式只是数据库结构(表的排列)。有两种流行的模式
星图
星型模式架构易于设计。它被称为星型模式,因为图类似于一颗恒星,其中点从中心辐射。恒星的中心由事实表组成,恒星的点是维度表。
星型模式中的事实表是第三范式,而维度表是去规范化的。
雪花图式
雪花模式是星型模式的扩展。在雪花模式中,每个维度都已标准化并连接到更多维度表。
维度建模规则
- 将原子数据加载到维度结构中。
- 围绕业务流程构建维度模型。
- 需要确保每个事实表都有一个关联的日期维度表。
- 确保单个事实表中的所有事实都具有相同的细节或细节。
- 在维度表中存储报告标签和过滤域值至关重要
- 需要确保维度表使用代理键
- 不断平衡需求和现实,以提供业务解决方案以支持他们的决策
参考资料
- python测试开发项目实战-目录
- python工具书籍下载-持续更新
- python 3.7极速入门教程 - 目录
- 讨论qq群630011153 144081101
- 原文地址
- 本文涉及的python测试开发库 谢谢点赞!
- 本文相关海量书籍下载
- https://www.tutorialspoint.com/sqoop/sqoop_installation.htm
- https://sqoop.apache.org/docs/1.4.7/SqoopUserGuide.html
- https://www.softwaretestinghelp.com/top-4-etl-testing-tools/
尺寸建模的好处
- 维度标准化可以轻松报告业务领域。
- 维度表存储维度信息的历史记录。
- 它允许引入全新的维度,而不会对事实表造成重大干扰。
- Dimensional还以这样的方式存储数据:一旦数据存储在数据库中,就更容易从数据中检索信息。
- 与标准化模型相比,维数表更容易理解。
- 信息分为清晰和简单的业务类别。
- 业务可以理解维度模型。此模型基于业务术语,以便业务知道每个事实,维度或属性的含义。
- 尺寸模型经过非格式化和优化,可用于快速数据查询。许多关系数据库平台都能识别此模型并优化查询执行计划以帮助提高性能。
- 维度建模创建了一个针对高性能进行优化的模式。这意味着更少的连接,并有助于最小化数据冗余。
- 维度模型还有助于提高查询性能。它更加非规范化,因此它针对查询进行了优化。
- 尺寸模型可以轻松适应变化。维度表可以添加更多列,而不会影响使用这些表的现有商业智能应用程序。
摘要:
- 维度模型是针对数据仓库工具优化的数据结构技术。
- 事实是您的业务流程中的度量/指标或事实。
- Dimension提供有关业务流程事件的上下文。
- 属性是维度的各种特征。
- 事实表是维模型中的主表。
- 维度表包含事实的维度。
- 有三种类型的事实1.添加剂2.非添加剂3.半添加剂。
- 尺寸类型符合,支腿,缩小,角色扮演,尺寸到尺寸表,垃圾,退化,可插拔和阶梯尺寸。
- 维度建模的五个步骤是1.识别业务流程2.识别谷物(详细程度)3。识别维度4.识别事实5.构建星际
- 在维度建模中,需要确保每个事实表都具有关联的日期维度表。