Project REAL分析服务技术探讨(3)
2007-05-15 09:28:13 来源:WEB开发网这种Metacube方法既有正面的意义,也带来了一些消极作用。通过这种方法,所有的事物都被丢到简单的Cube中。这种方法最重要的优点在于,由于构建Cube的方法,使得终端用户用户不必强加人为的界限,就可以去连接或者查询。终端用户看到的是度量值的集合。在用户如何查询Cube的基础上,系统可以动态的调整必要的度量组。
计算是类似的。你只需创建一个简单的Cube包含所有你提供的计算,系统就会根据它们做出自我调整。若要得到更多关于这种丰富的对象空间(所有的事物都在一个简单”罐子”中),可以查看AdventureWorksDW 分析服务数据库。这个数据库中包含了18个维度、154个属性层次、18个用户定义层次、超过100个计算以及9个度量组(每个粒度都不相同),并且所有对象都在一个Cube中,这太棒了。
无论如何,这种方法都会带来一些成本。最明显的程序是需要过渡很多对象。你需要客户端应用程序能够处理SQL Server 2005种的对象,例如显示文件夹或者透视图等。这些对象允许你将对象组织到不同的功能分类中,这样,用户能够更好的记住各对象可以应用的选项。
这个方法带来的第二个成本是执行一个完成的维度过程会对所有使用这个维度的度量组重置状态。这既包含了度量组,也包含了这些度量组的分割表。我们是在测试执行一个Vendor Type 维度(只包含五个成员)的过程中,意外的发现这点的。我们不得不回过头去,重新处理基于Sales 和Item Vendor度量组的153个分割表。显而易见,完成这个过程需要大量的时间。我们决定除非迫不得已,我们将不这么做。并且这可能导致更坏的结果。如果我们完成一个Measures 维度(只有一个成员)的过程,这将影响到所有的度量组。完成这个过程,会涉及2G的数据,需要在3天后才能得到结果。
赞助商链接