确定数据仓库中数据的恰当的粒度是数据仓库开发者需要面对的一个最重要的设计问题。如果数据仓库的粒度确定的合理,设计和实现中的其余方面就可以进行的非常顺畅,相反,如果粒度确定的不合理,就会使得所有方面都很难进行。
粒度对于数据仓库体系结果设计人员也非常重要,因为粒度会影响到那些依赖于从中获得数据的的数据仓库的所有环境。粒度影响数据传送到不同环境中的效率,从而决定可以进行的分析的类型。
1).粗略估算
确定适当粒度级别所要做的第一件事就是对数据仓库中将来的数据行数和所需的DASD(直接存取存储设备)数进行粗略估算,毫无疑问,即使在最好的情况下,也仅能做一下估计。但在建立数据仓库之初,所需的其实也只是一个对数量级的估计。
对将在数据仓库中存储的数据的行数进行粗略估算对于体系结构设计人员来说是非常有用的。如果数据只有10000行,那么几乎任何粒度级别都不会有问题。如果数据有10亿条,那么就需要一个低的粒度级。如果有100亿行,不但需要有一个高粒度级,还可能将大部分数据已到溢出存储器上去。
2).规划过程的输入
根据空间估计,行数估计--》看需要多少DASD,期望的排序可以达到多快?需要双重粒度吗?
3).溢出存储器中的数据
根据数据仓库环境中将具有的总行数的多少,看是否需要考虑使用溢出存储器。
随着数据量的不断增长,经常使用的数据与不经常使用的数据出现了自然的分化。不经常使用的数据有时称为睡眠数据或不活跃数据。数据仓库在建立并使用了一段时期之后,其中的大部分数据都变旧而没人使用。此时就可以将经常使用的数据仍然留在高性能的磁盘存储器中,而将不经常使用的那些数据转移到海量备用存储器或近线存储器中。这样在经济上节省了存储成本,在技术上提高了访问性能。
4).确定粒度的级别
在完成有多少数据将放入数据仓库的简单分析之后(事实上,许多公司发现他们需要至少将一部分数据存放到溢出存储器中),下一步就是确定数据的粒度级别。
经验规则:在第一次的设计过程中,如果有50%是正确的,那么整个设计就是成功的。
数据仓库的特点:只有当DSS分析员实际看到了报表之后,才能想象出哪些是他们真正需要的。
设计方法:
1.快速建立数据仓库很小的子集并认真听取用户的反馈意见
2.使用原型法
3.参考别人的经验
4.与有经验的用户协同工作
5.以企业中已有的功能需求作为参考
6.用模拟的输出进行JAD会议
5).填充数据集市
选择数据仓库中的数据粒度的另一个重要的考虑因素是理解数据集市将会需要的数据粒度。填充数据集市是数据仓库的工作。不同的数据集市需要不同的看待数据。数据集市看待数据的方式之一是通过粒度的形式。
小结:
粒度设计的过程始于对数据仓库在一年和五年时间内所能达到的大小的一个粗略估算,然后看粒度应该细到什么程度,然后看其是否需要溢出存储器,最后数据仓库设计粒度。为体系结果化环境选择一个适当的粒度级别是成功的关键。选择粒度级别的一般方法是利用常识,首先建立数据仓库的一小部分,并让用户访问这些数据。然后仔细聆听用户的意见,根据他们的反馈意见对粒度级别作出调整。