【原创】关系型与维度型报表优劣之谈

专家坐诊版主wengr原创文章

简述报表优劣现状

报表是任何一个系统不可缺少的模块,我们常见的带有查询功能区,数据输出区域根据条件选择返回结果,这也是报表的一部分。而项目中经常说报表,不只是业务系统、分析系统等其他统计类系统中才有的,任何系统都会有查询功能,都会有一个列表数据输出,其实归属于报表范畴。报表并没有严格的定义,更没有样式的界限。反映不同条件的限制,查询当前用户统计的结果,根据结果选择触发下一个分析与查询动作等等。

而报表设计上就是我们考虑的重点,从工具角度考虑设计,可分两种类型:关系型 与 多维分析型(OLAP)。两种类型在同等条件下,都可以满足客户常规需求,非特殊报表设计上要考虑选型。选型决定报表优劣性能,数据存储方式,后期维护与扩展,环境移植等长远规划问题。在项目中通过经验得出,选择你最成熟技术实现。

本文档是作者从事BI项目的经验总结,不代表技术权威性。能帮助对报表开发入门学者一点点指导,同时引领设计者自我完善与学习的过程。


关系型报表设计优劣

       关系型报表是基于关系型数据库为源,如Cognos Framework Manager元数据管理工具,封装多表链接,发布到Web Server服务,直接进行开发设计。

       基于关系型报表设计有哪些优点,又存在哪些缺点呢?

       优点有:

1、  根据需求表样,可灵活设计,从汇总表直接查询结果。

2、  特殊表报可以通过存储过程动态生成数据集。

3、  根据数据库特性,创建查询索引,优化数据库。

4、  二次需求调整快,可以引用自定义函数。

5、  系统环境移植与项目工程改造易灵活,易扩展,易实现。



缺点有:

1、  非分析型(OLAP)数据库,表存储量日益庞大,查询性能降低。

2、  多表关联对数据库系统开销增大。

3、  实时转化成数据库识别的Sql语句。


多维分析型报表设计优劣

       多维分析型(MOLAP)报表是基于Cube数据集为源,如Cognos Transformer多维建模工具,并生成PowerCube维度指标集,发布到Web Server服务,利用Report Studio开发报表。

       基于多维分析型报表设计有哪些优点,又存在哪些缺点呢?

       优点有:

1、  报表的查询直接以MDX的查询语句从数据文件中提取数据并展示,效率很高。

2、  维度各层级节点都已计算好的指标值,无需实时动态计算。

3、  设计简单,可以利用MDX函数实现复杂功能。

4、  可以根据需求特定化制作报表,简化计算逻辑。

5、  方便移植与部署。



缺点有:

1、  更新Cube文件需要消耗时间,长则12个小时以上。

2、  模型设计对业务要求高:维度越多,层级越深,性能越低。

3、  扩展性差:复杂需求频繁变更,没有发挥Cube真正的用途,纯粹满足报表需求是最差的设计。

4、  Cube文件需要占用大量的存储空间,每个Cube调用都消耗大量内存。

5、  Cube与Cube之间不能直接访问。报表设计受限制,钻取只局限本Cube内。


优劣总结

       两种模型设计报表都有各自特点,以优点选型是设计者最佳的准则。虽然同种需求在两种模型都可以实现,但我们要考虑性能与扩展,避免后期维护带来的压力。我个人喜欢基于关系型数据库源设计报表,毕竟数据库是一个非常成熟的产品,调优相对简单,技术面更广。BI工具本身有约束性,固化在同一种模式下设计,反复修改调整动作大,扩展性没有数据库灵活。

       对于设计人员,重点在业务,理解需求,分析与研究需求未来变化。加强自身对数据库操作应用,发挥数据库强大的特点,结合工具的灵活性,整体提高报表性能。
参与34

提问者

相关问题

相关资料

问题状态

  • 发布时间:2010-07-26
  • 关注会员:0 人
  • 问题浏览:15698
  • 最近回答:2011-10-18
  • X社区推广