1第1章概述此报告对IBM公司的BI工具Cognos以及SAP公司的BI工具BusinessObjectsEnterpriseXI进行对比。对比内容涉及以下方面:产品体系结构比较产品功能比较产品性能比较第2章产品体系结构比较CognosBOOLAPSERVER的集成集成MOLAP、ROLAP服务器缺少真正的OLAP服务器,没有MOLAP功能。如果要实现MOLAP功能,就必须连接第三方的MOLAP服务器。统一的产品架构Cognos采用统一的架构、统一的WEB界面提供了所有类型的BI应用。BusinessObjects(BO)由一系列收购的工具松散的组成,不同的BI功能需要使用不同的工具,并非统一的架构。OLAP功能具有ROLAP、MOLAP、HOLAP功能具有ROLAP功能,MOLAP功能需要第三方MOLAP服务器支持。安全性能够对整个系统进行统一的安全性定义。需要在不同的BI工具中单独进行安全性定制,无法在不同工具间进行同步。从产品体系结构来看,Cognos具有较大优势。因为BO是由一系列收购而来的独立工具组成的,而这些工具由于来自不同的收购厂家,通常都具有不同的操作界面和相对独立的后端平台。而且往往一个工具只能满足某一种类型的BI应用,用户经常需要在不同的工具间切换,比如做固定报表和OLAP分析报表需要使用不同的工具。而且不同工具间的操作风格都略有差异,最终用户要花更多的时间来适应这些不同的工具,这也增加了企业的培训成本。而且随着BI应用的不断深入,系统的用户数量的不断膨胀,企业可能需要为不同的BI工具建立一个维护团队,这也增加了企业的维护成2本。Cognos则是将MOLAP、ROLAP分析功能集成到统一架构之上,并且使用统一的WEB界面向用户提供各种类型的BI应用,无论用户执行什么样的操作,都无需在不同的工具间切换。从产品的可扩展性来看,Cognos具有明显优势。客户的BI系统都是循序渐进,分阶段进行系统的,所以必须考虑BI产品在后续阶段实施的可扩展性。假设客户采用BO产品,则需要单独购买OLAPServer,这会导致成本增加及系统集成的风险(在Gartner2008的全球BI厂商评估中提到:“根据对客户的调查,OLAP仍被用户视为BO最无法满足用户需要的功能。”)。而采用Cognos则能够有效降低采购成本以及降低OLAP系统集成风险。第3章产品功能比较3.1功能比较应用功能CognosBOOLAP分析功能旋转、切片、切块、向上钻取、向下钻取等操作支持,可以对数据进行旋转、切片、切块、向上钻取、向下钻取。支持,只有使用分析工具(OLAPIntelligence)连接到第三方OLAPSERVER数据源的时候,才可以完全支持各种OLAP分析。对于关系型数据源,只能进行向下钻取、切片和切块操作。能否支持钻透功能支持,无需编程支持,需要少量编程数据源的支持是否支持多种数据源支持RDBMS,OLAPservers,XML,Javabeans,JDBC,LDAP,WSDL,Legacy,mainframe和内容管理数据。并且所有工具都支持多种数据源支持多种数据源,但是不同的工具所支持的数据源不同。Crystal支持的数据源无法被universes访问,OLAPIntelligence仅支持OLAP服务器,Xcelsius仅支持Excel,Universes不支持多种数据源。3是否需要下载插件不需要,所有BI功能完全通过WEB实现。查询不需要,分析和创建波报表需要。包括即席报表和分析和一些仪表盘功能在内的很多功能都需要安装插件和桌面软件Web支持WEB端的功能分析功能和报表创建功能,完全在WEB端实现。分析功能同C/S模式相当,但报表制作功能WEB下明显弱于C/S模式产品模块是否支持多语言全部产品模块支持仅部分产品模块支持是否支持unicode完善的unicode产品,不仅仅是对unicode的支持软件并非unicode,包括单字节和多字节版本能否创建多语言报表可以轻松的使用多种语言对一个报表进行交付需要使用一种根据语言对元数据和安全性进行结合的技术才能用所选的语言提供数据安全性信息加密可以对所有文档、临时文件和通信进行168位加密,保证其安全性。只能对登陆信息进行128-位加密。单点登陆无需编程即可实现需要编程实现LDAP支持,可以同时支持多种LDAP模式支持,但一次只能支持一种LDAP模式SSL支持不支持是否支持自定义SQL支持不支持支持查询条件动态设置支持不支持地图支持支持,但需要单独购买相关模块。4从OLAP分析的角度来看,由于BO本身没有OLAPSERVER,当在大数量下进行MOLAP分析的时候,系统很容易出现性能问题。而Cognos能够支持预定义的钻取维度和多维分析的定时任务。预定义的钻取维度能够帮助客户在特定业务问题根源追溯中节省大量分析时间,实现特定业务问题快速分解。从安全性的角度来看,Cognos采用统一的,基于LDAP的安全管理机制。在数据安全方面能够实现单元格级控制,而且在WEB中支持SSL加密。BO支持LDAP但不支持SSL加密。从图表方面来说,Cognos和BO都能支持常见的图表,满足企业日常图表的需要。从WEB界面的功能、易用性的角度来看,BO报表的美观程度做的比较好,但是创建报表或者进行分析的时候,需要在WEB客户端安装插件。插件的下载会受到网络安全和客户端浏览器兼容性的影响,插件下载会影响到企业防火墙的配置,增加企业在网络安全方面和客户端维护方面的成本。而Cognos的WEB报表完全通过HTML来实现,用户无需下载任何插件,而且界面美观完全符合中国式报表的需要。BO的仪表盘(CrystalXcelsius)与BO其他产品的整合度不高,他们之间无法共享数据源,无法进行统一的安全性设置。BO仪表盘不能共享BO报表的数据源,也不能直接把BO报表做为数据源。仪表盘的数据源只能来自于EXCEL,并且对数据在EXCEL表格中存放的行列位置要求极为严格,稍有失误便无法正确生成仪表盘。对于业务人员而言,由于操作比较复杂,他们是不可能独立创建或维护仪表盘的。对于IT人员而言,创建或维护仪表盘都需要将数据按一定的格式导入到EXCEL,这就给IT人员添加了一份额外的工作,增加了IT部门的维护成本,影响了开发的效率。此外,用户在BO其他产品模块中的安全性设置也无法作用于仪表盘,仪表盘的数据安全需要重新定义,这一方面增加了维护的成本,另一方面为数据安全问题带来了隐患。第4章产品性能比较4.1大数据量下的响应速度在OALP层面Cognos提供了MOLAP、ROLAP两种引擎。对于高粒度数据可以使用MOLAP的多维数据立方体以获得出色的响应速度,对于中低粒度的数据可以使用ROLAP模型实现实时的数据展现能力并弥补MOLAP在数据量上的不足。两种OALP技术的结合可以在性能与功能之间取得较好的平衡点。BO由于没有OLAP服务器,在缺乏第三方MOLAP服务支持的情况下,它不具备真正支撑T级数据量的能力。54.2数据立方体(Cube)的压缩比Cognos的数据立方体采用专有的存储技术,能够保证在海量数据处理时占用很少的存储空间,一般能达到源数据规模的十分之一到十五分之一的压缩比率,这种高效的存储带给用户最大的好处就是允许用户以更多的角度分析更多的指标。而Hyperion的OLAPServer还是采用传统的存储方式,在面对海量数据和多角度、多指标时经常会发生数据“爆炸”,企业将不断面临增加存储硬件的成本压力。而且HyperionCUBE的急剧膨胀也会影响到系统的相应速度。4.3并发用户的支持能力Cognos产品是为企业级应用精心设计的,具有良好的可扩展性能,其服务器本身就具有智能的负载均衡功能,能根据实际使用情况对各个的模块进行负载,满足企业级大用户数并发访问的要求,需要加入一台新的服务器,通过简单的注册就能加入到整个扩展环境中参与负载;并且支持NT和UNIX混和环境的负载均衡,能最大限度的利用现有资源保护已有投资。根据最终用户使用经验,BO单CPU最多支撑10个左右的并发用户,而Cognos单CPU则最多支撑15个左右的并发用户。4.4对数据库服务器的压力由于BO本身没有OLAPServer,当用户需要进行OLAP分析时,系统需要将数据从数据库服务器中完全取出,抽取到BO的服务器进行处理。在执行相同的操作时,BO是三个产品当中占用数据库I/O资源最多的。另外,对于维度上的汇总分析的操作,BO需要发送到数据库服务器端去执行,而当数据量比较大时,一般的关系型数据库对这种汇总请求的处理的效率是比较低的。所以执行维度汇总分析的操作时,BO会对数据库产生较大的压力。而Cognos是将数据存储在Cube中的,当用户在进行OLAP分析时,使用的数据保存在Cube中的。数据库服务器只负责存储及处理基础数据,OLAP分析并不会对数据库产生过多的查询压力。4.5应用服务器的压力Cognos有自己的MOLAP服务区,需要在应用服务器上要存储和管理Cube,对应用服务器会产生一定压力。BO虽然不存储CUBE,但是对于一些数据的计算功能,BO也需要将数据抽取到应用服务区上进行处理,在大数据量的时候,对应用服务区资源的消耗绝不逊色与Cognos。另外,对于拥有众多应用服务器的分布式系统,Cognos具有Cube分布下载功能的优势便完全体现出来了。比如一个在总公司和省分公司的之间进行两级部署的BI系统,我们可以利用Cognos能够分布下载Cube的特点,定时把Cube一次性发布到各省的应用服务器中,供各省用户通过省内网实现对信息的查询和分析。这样不仅大大提高了系统的响应速度,同时也减轻了省际间的网络压力。如果使用BO,则只能寄希望在各省建立数据快照系统实现类似的功能。64.6网络环境的压力Cogno可以将创建好的Cube发布到应用服务器上,当用户进行OLAP分析时,只是在客户端与应用服务器间产生数据交互,一般不会在应用服务器和数据库服务器间产生过多的数据交互。而BO因为没有Cube,在用户每次访问报表或者进行分析时,不仅在客户端与应用服务器间产生数据交互,还要在应用服务器与数据库服务器间产生大量的数据交互,在大量并发用户的情况下,会给网络带来一定的压力。