|
|
|
|
移动端

1.3.3 用于描述环境的维度表

《数据仓库工具箱(第3版)--维度建模权威指南》第1章数据仓库、商业智能及维度建模初步,本章将详细考察数据仓库及商业智能的主要目标,辨析DW/BI管理者与杂志出版商各自责任中存在的不可思议的相似之处。本节为大家介绍用于描述环境的维度表。

作者:王念滨/周连科/韦正现 译来源:清华大学出版社|2015-12-10 16:29

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


1.3.3  用于描述环境的维度表

维度表是事实表不可或缺的组成部分。维度表包含与业务过程度量事件有关的文本环境。它们用于描述与"谁、什么、哪里、何时、如何、为什么"有关的事件。

如图1-3所示,维度表通常有多列,或者说包含多个属性。有50~100个属性的维度表并不稀奇。尽管如此,也可能存在一些只包含少量属性的维度表。与事实表比较,维度表趋向于包含较少的行,但由于可能存在大量文本列而导致存在多列的情况。每个维度表由单一主键定义(参考图1-3的主键概念),用于在与事实表连接操作时实现参照完整性的基础。

维度属性可作为查询约束、分组、报表标识的主要来源。对查询或报表请求来说,属性以词或词组加以区分。例如,当用户希望按照品牌来查看销售额时,要查看的品牌必须存在于维度属性中。

维度表属性在DW/BI系统中起着至关重要的作用。因为维度表的属性是所有查询约束和报表标识的来源。同时,维度属性对构建DW/BI系统的可用性和可理解性也起着非常重要的作用。属性应该包含真实使用的词汇而不是令人感到迷惑的缩写。应该尽量减少在维度表中使用代码,应该将代码替换为详细的文本属性。您可能已经训练业务用户,让他们记住操作型的代码,但为了提高效率,应尽量减少他们对代码转换注释的依赖。应该对那些操作型代码进行解码,以用于维度属性中,这样可以为查询、报表和BI应用提供具备一致性的标识。对那些不可避免会发生不一致情况的报表应用,应尽量使用解码值。

某些情况下,操作码或标识符对用户具有确定的业务含义,或者需要利用这些操作码与后台的操作环境交互。在此情况下,代码应该以清晰的维度属性出现,辅以对应的用户友好的文本描述符。有时操作码中包含一些智能含义,例如,操作码头两位数字表示业务类别,3~4位表示全球区域。与其强制用户查询或过滤操作码,不如将隐含的意思拆分,以不同的维度属性方式展现给用户,这样用户就能方便地开展过滤、分组和制作报表等工作。

多数情况下,数据仓库的好坏直接取决于维度属性的设置;DW/BI环境的分析能力直接取决于维度属性的质量和深度。为维度属性提供详细的业务术语耗费的精力越多,效果就越好。为属性列填充领域值耗费的精力越多,效果就越好。为确保属性值的质量耗费的时间越多,效果就越好。强大的维度属性带来的回报是健壮的分片-分块分析能力。

注意:

维度提供数据的入口点,提供所有DW/BI分析的最终标识和分组。

在分析操作型源数据时,有时不清楚一个数值数据元素应该是事实属性还是维度属性。可以通过分析该列是否是一种包含多个值并作为计算的参与者的度量,这种情况下该列往往可能是事实;或者该列是对具体值的描述,是一个常量、某一约束和行标识的参与者,此时该属性往往是维度属性。例如,产品的标价看起来像一个产品的常量属性,但它经常会发生变化,因此它更可能是一种度量事实。偶尔,由于很难确定如何进行分类,需要根据设计者所处的环境以不同的方式建模数据元素。

注意:

一个数字量到底是事实还是维度属性,对设计者来说是一个两难的问题,很难做出决策。连续值数字基本上可以认为属于事实,来自于一个不太大的列表的离散数字基本可认为是维度属性。

图1-4表明维度表通常以层次关系表示。例如,产品抽象为品牌,然后抽象为类别。在产品维度的每行中,存储的是有关品牌和分类的描述。层次描述信息的存储存在冗余,这样做的目的主要是为了方便使用和提高查询性能。也许您会坚持在产品维度表中仅存储品牌代码,建立品牌分类查询表的方式,同样的方法可以建立单独的类别查询表,使数据规范化。这种规范化的方法构建的模式称为雪花模式。维度表通常不一定要满足第3范式,它常常是非规范化的,一个维度表中往往存在多对一的关系。由于与事实表比较,维度表通常要小得多,因此采用规范化或雪花模式实际上对数据库的总容量没有多大影响。一般对维度表存储空间的权衡往往需要关注简单性和可访问性。

比较流行的观点认为,事实和维度这两个术语并不是由Ralph Kimball首先提出的。目前大家比较能够接受的说法是,维度和事实这两个术语来自于20世纪60年代杰拉尔德·米勒和达特茅斯大学的一个联合研究项目。20世纪70年代,AC Nielsen和IRI使用这两个术语一致地描述他们的辛迪加企业联合组织的数据服务并趋向于使用维度模型,用于简化分析信息的表示。他们认识到,除非将这些数据打包,否则无法使用数据。可以确定地说,并不是由某个人发明了维度方法。当设计者需要将可理解性和性能作为最重要的目标时,维度模型是在设计数据库时必然产生的结果。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

计算机与网络基础知识——考点解析及模拟训练

本书是根据全国计算机技术与软件专业技术资格(水平)考试的“计算机网络管理员考试大纲”所要求的考试范围而编写的辅导用书。全书共分10章...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊