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

专家坐诊版主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

34同行回答

冰华敏冰华敏商业智能工程师家里蹲
曾经也做过这样的总结,看来和wengr的见解有分歧也有共同之处显示全部
曾经也做过这样的总结,看来和wengr的见解有分歧也有共同之处收起
国防军队 · 2010-07-27
浏览445
冰华敏冰华敏商业智能工程师家里蹲
“单一报表->数据集市”开发方式和“统一报表分析->统一业务规范->多维数据集”开发方式的比较:“单一报表->数据集市”开发方式:                        可并行开发,接口基本上一对一,可以通过物化...显示全部
“单一报表->数据集市”开发方式和“统一报表分析->统一业务规范->多维数据集”开发方式的比较:
“单一报表->数据集市”开发方式:       
                可并行开发,接口基本上一对一,可以通过物化视图解决效率问题;
        无论聚合性统计还是明细级别统计均能实现;
    但是:
        重复工作量大,管理难度大;
        没有统一的业务规范;
        数据存储冗余很大;
        无法扩展应用
“统一报表分析->统一业务规范->多维数据集”开发方式:
        统一业务规范,单一接口;
        工作量集中在需求整理,cube开发,相对工作量几何级减小;
        数据存储只是针对cube;
        支持扩展应用;
        便于管理与维护;
但是:
        所有的压力都压在CUBE上,CUBE的处理性能要求很高。对于超大数据量性能处理工作技术要求很高;
        明细级别报表无法处理;

由此可见,考虑将两种方式结合也许是解决方法。收起
国防军队 · 2010-07-27
浏览492
cherrywaycherryway软件开发工程师新网银行
很好,顶一下!显示全部
很好,顶一下!收起
银行 · 2010-07-27
浏览449
whhiterwhhiter数据库管理员picc
顶楼主,正在努力提高Cognos水平,希望有一天能够真正理解楼主的精彩分析。谢谢显示全部
顶楼主,正在努力提高Cognos水平,希望有一天能够真正理解楼主的精彩分析。谢谢收起
金融其它 · 2010-07-26
浏览462
shinegirljieshinegirljie项目经理哥本哈根哈哈
嗯 分析的挺好的 !显示全部
嗯 分析的挺好的 !收起
系统集成 · 2010-07-26
浏览720
ROLAP和MOLAP各有各的好处,根据你的实际项目来灵活运用,还可以ROLAP/MOLAP一起使用。贝克汉姆 发表于 2010-7-26 12:57 推荐这种方式显示全部
ROLAP和MOLAP各有各的好处,根据你的实际项目来灵活运用,还可以ROLAP/MOLAP一起使用。
贝克汉姆 发表于 2010-7-26 12:57

推荐这种方式收起
2010-07-26
浏览666
不错,顶一下下显示全部
不错,顶一下下收起
2010-07-26
浏览729
贝克汉姆贝克汉姆软件开发工程师IBM
ROLAP和MOLAP各有各的好处,根据你的实际项目来灵活运用,还可以ROLAP/MOLAP一起使用。显示全部
ROLAP和MOLAP各有各的好处,根据你的实际项目来灵活运用,还可以ROLAP/MOLAP一起使用。收起
互联网服务 · 2010-07-26
浏览686
swellwswellw工程师榕基软件
分析的很不错,可是楼主能否针对各自的缺点而写一些优化的方案?期待中。。显示全部
分析的很不错,可是楼主能否针对各自的缺点而写一些优化的方案?

期待中。。收起
机械装备 · 2010-07-26
浏览674
都来顶顶~显示全部
都来顶顶~收起
2010-07-26
浏览706

提问者

相关问题

相关资料

问题状态

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