WEB开发网
开发学院数据库MSSQL Server Project REAL分析服务技术探讨(2) 阅读

Project REAL分析服务技术探讨(2)

 2007-05-15 09:28:18 来源:WEB开发网   
核心提示: 首先,确保所有的属性都确实需要被用来进行分析,Project REAL分析服务技术探讨(2)(2),如果不是必须的,从维度中去除它们,首先是这样消耗更少的内存,第二是当集合设计向导(Aggregation Design Wizard)运行的时候,这能使得Hash表要求的空间更小,第二

首先,确保所有的属性都确实需要被用来进行分析。如果不是必须的,从维度中去除它们。这能使得Hash表要求的空间更小。

第二,使用级联的属性关系,这样能够最少化属性的数量,因为它们都直接依赖于键。每个属性必须直接地或者间接地关联到一个维度地键。当你第一次创建维度地时候,你将注意到,所有属性都直接地关联到一个键。这也是键属性的特征之一,所有属性都能关联到它。然而,作为为维度定义的自然用户定义层次,一些属性会生成额外的关联。这样,它们既直接关联到键,也通过自然层次,间接的关联到键。例如,如果你清楚Time维度中的Day,你也将知道Year(Year直接被Day暗示)。同时,Day也暗示了Week、也暗示了Month、也暗示Quarter、也暗示了年。因而,在定义自然的用户定义层次后,你就能把Week、Month、Quarter和Year从Day的直接关联中去掉。如果间接的关联存在,就删除直接的关联。

依赖的属性能被移除,因此它们不再直接依赖于键,但它们通过在自然层次中通过属性关联能够间接的关联到键。并且,它们也能从维度的键属性中移除。这是一个很好的例子,详细参见图2。

图2:一个时间维度的良好设计

对比如何将属性关联定义到calendar属性上和如何将属性关联定义到fiscal属性上。绝大部分calendar属性不是直接关联的键属性(Day)的;仅仅只有Week。相反,绝大部分calendar属性能够向上级联到calendar自然层次。Fiscal属性关系也是这样一种情况,只是属性都是直接关联到键属性上的。

这个方法认为calendar属性应该是首选的方法。如果你定义了自然的用户定义层次,或者其它具有级联效果的属性关系,你就必须将直接的关联移除掉。这里有两个原因。首先是这样消耗更少的内存。第二是当集合设计向导(Aggregation Design Wizard)运行的时候,多余的直接关联将导致更慢的集合设计。

上一页  1 2 3 4 5 6 7  下一页

Tags:Project REAL 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接