今晚看到 coolkisseses 的提问:为什么要使用cube(
http://www.cognoschina.net/club/ ... =&highlight=&page=1 )
问题大概总结为:基于FM中直接连数据库创建包和基于TR创建CUBE发布包,这两种方式到底有哪些异同?
其实问题也等价于 MOLAP与ROLAP的异同?
以下是个人观点,欢迎各位拍砖、讨论:
ROLAP与MOLAP异同:
对于MOLAP和ROLAP,从数据架构上来看没什么差别,在MOLAP可以实现的,在ROLAP中也可实现;
但是MOLAP,也就是Cubes是物理上存在的立方体;ROLAP只是一个立方体的逻辑架购,本身并不包含数据;
当从ROLAP中取数时实际上是实时的从关系数据库中取数,而MOLAP则可直接从事先生成好的Cubes中取数即可,这就减轻了数据库端的压力;
MOLAP和ROLAP应用场景:
当数据量不大,并且数据库端性能调整得足够好时,使用ROLAP,可以实时展现数据,也不用事先花额外的时间生成Cubes;
数据量大,但有数据集市层,并且数据库端性能够好,使用ROLAP;
业务数据库和报表数据库是同一数据库时,需减轻数据库端的性能压力,使用MOLAP;
数据量大,数据库端性能差强人意,使用MOLAP,减少数据库端的维护;