设为首页 加入收藏

TOP

数据仓库基础术语名词一览(四)
2015-11-21 01:26:35 来源: 作者: 【 】 浏览:5
Tags:数据 仓库 基础 术语 名词 一览
D、类别ID等多个外键。同样,也有建模师将日期相关的日期ID、月ID、年ID都放入事实表中。这些都将产生蜈蚣事实表,使自己落入维度过多的陷阱。

蜈蚣事实表虽然使查询效率有所提高,但是伴之而来的是存储空间的大量增长。在维度建模的数据仓库中,维度表的字段个数可以尽可能的增加,但是事实表的字段要尽量减少,因为相比而言,事实表的记录数要远远大于维度表的记录数。

一般来说,事实表相关的维度在15个以下为正常,如果维度个数超过25个,就出现了维度过多的蜈蚣事实表。这时,需要做的事情是自己核查,将相关的维度进行合并,减少维度的个数。

稀疏事实表--sparse facts

?

旋转事实表--pivoted fact table

在数据仓库领域有一个概念叫pivoted fact table,中文一般翻译为“旋转事实表”。旋转事实表是将一条记录中的多个事实字段转化为多条记录,其中每条记录保存一个事实字段的一种建模方法。或者反过来,也可以由多条记录转化为一条记录。

旋转事实表建模方法的使用通常是为了简化前端数据展现的查询。它通过改变后端的事实记录存储方式,使相应的查询需求的性能得到的极大的提高。如果在SQL或者查询工具中进行这种转换会非常麻烦,效率也很差。

和合并事实表类似,有时当基础表中没有记录时,旋转事实表也要存储一些零值在里面。

一致性事实??comformed fact

维度建模的数据仓库中,有一个概念叫Conformed Fact,中文一般翻译为“一致性事实”。一致性事实是Kimball的多维体系结构(MD)中的三个关键性概念之一,另两个是总线架构(Bus Architecture)和一致性维度(Conformed Dimension)。

在建立多个数据集市时,完成一致性维度的工作就已经完成了一致性的80%-90%的工作量。余下的工作就是建立一致性事实。

一致性事实和一致性维度有些不同,一致性维度是由专人维护在后台(Back Room),发生修改时同步复制到每个数据集市,而事实表一般不会在多个数据集市间复制。需要查询多个数据集市中的事实时,一般通过交叉探查(drill across)来实现。

为了能在多个数据集市间进行交叉探查,一致性事实主要需要保证两点。第一个是KPI的定义及计算方法要一致,第二个是事实的单位要一致性。如果业务要求或事实上就不能保持一致的话,建议不同单位的事实分开建立字段保存。

这样,一致性维度将多个数据集市结合在一起,一致性事实保证不同数据集市间的事实数据可以交叉探查,一个分布式的数据仓库就建成了。

一致性维度??comformed dimension

维度建模的数据仓库中,有一个概念叫Conformed Dimension,中文一般翻译为“一致性维度”。一致性维度是Kimball的多维体系结构(MD)中的三个关键性概念之一,另两个是总线架构(Bus Architecture)和一致性事实(Conformed Fact)。

在多维体系结构中,没有物理上的数据仓库,由物理上的数据集市组合成逻辑上的数据仓库。而且数据集市的建立是可以逐步完成的,最终组合在一起,成为一个数据仓库。如果分步建立数据集市的过程出现了问题,数据集市就会变成孤立的集市,不能组合成数据仓库,而一致性维度的提出正式为了解决这个问题。

一致性维度的范围是总线架构中的维度,即可能会在多个数据集市中都存在的维度,这个范围的选取需要架构师来决定。一致性维度的内容和普通维度并没有本质上区别,都是经过数据清洗和整合后的结果。

一致性维度建立的地点是多维体系结构的后台(Back Room),即数据准备区。在多维体系结构的数据仓库项目组内需要有专门的维度设计师,他的职责就是建立维度和维护维度的一致性。在后台建立好的维度同步复制到各个数据集市。这样所有数据集市的这部分维度都是完全相同的。建立新的数据集市时,需要在后台进行一致性维度处理,根据情况来决定是否新增和修改一致性维度,然后同步复制到各个数据集市。这是不同数据集市维度保持一致的要点。

在同一个集市内,一致性维度的意思是两个维度如果有关系,要么就是完全一样的,要么就是一个维度在数学意义上是另一个维度的子集。例如,如果建立月维度话,月维度的各种描述必须与日期维度中的完全一致,最常用的做法就是在日期维度上建立视图生成月维度。这样月维度就可以是日期维度的子集,在后续钻取等操作时可以保持一致。如果维度表中的数据量较大,出于效率的考虑,应该建立物化视图或者实际的物理表。

这样,维度保持一致后,事实就可以保存在各个数据集市中。虽然在物理上是独立的,但在逻辑上由一致性维度使所有的数据集市是联系在一起,随时可以进行交叉探察等操作,也就组成了数据仓库。

因果维度--casual dimension

?

预连接聚集表??pre-joined aggregate table

在数据仓库领域有一个概念叫pre-joined aggregagte table,中文一般翻译为“预连接聚集表”。预连接聚集表是通过对事实表和维度表的联合查询而生成的一类汇总表。在预连接聚集表中,保存有维度表中的描述信息和事实表的事实值。

通过预连接,可以避免在用户查询时RDBMS的连接操作,所以预连接聚集表的查询效率要高很多。

典型的预连接聚集表如下例所示的销售事实表,

产品名称

商标名称

年份

月份

销售人员名称

销售量

销售金额

在这个销售事实表,前五个字段都来自于维度表的描述字段,后两个字段来自于事实表的事实字段。这样在用户提交查询后,RDBMS就不需要连接维度表和事实表了,只需直接在该表中查询即可。

预连接聚集表有一个很大的缺点,它需要占用大量的存储空间。预连接事实表的记录和事实表一样多,每条记录的长度和维度表一样长,所以对存储空间的需求是非常大的。除非情况特殊,或者该表是高度汇总的,否则不建议建立预连接聚集表。在建立预连接聚集表时需要平衡效率和存储空间的矛盾。

预连接聚集表的生成方式较为简单,直接使用SQL查询即可生成。

如果聚集导航器的功能很强大的话,也可以处理预连接聚集表。否则,需要用户理解预连接聚集表,并在SQL中直接使用该表。

预连接聚集表在数据仓库领域有着很重要的作用,是汇总表的一种。它的优点和缺点都很明显,在使用时需要综合考虑。

原子事实表--atom fact table

?

杂项维度??junk dimension

在维度建模的数据仓库中,有一种维度叫Junk Dimension,中文一般翻译为“杂项维度”。杂项维度是由操作系统中的指示符或者标志字段组合而成,一般不在一致性维度之列。

在操作系统中,我们定义好各种维度后,通常还会剩下一些在小范围内取离散值的指示符或者标志字段。例如:支付类型字段,包括现金和信用卡两种类型,在源系统中它们可能是维护在类型表中,也可能直接保存在交易表中。

一张事实表中可能会存在好几个类似的字段,如果作为事实存放在事实表中,会导致事实表占用空间过大;如果单独建立维度表,外键关联到事实表,会出现维度过多的情况;如果将这些字段删除,会有人不同意。

这时,我们通常的解决方案就是建立杂项维度,将这些字段建立到一个维度表中,在事实表中只需保存一个外键。几个字段的不同取值组成一条记录,生成代理键,存入维度表,并将该代理键保存入相应的事

首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇供应商信息一览 下一篇维度模型数据仓库基础对象概念一览

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: