数据仓库方案对比1概述成功地实施一个数据仓库项目,通常需要很长的时间。如果仅仅着眼于短期成果,缺乏整体考虑,采用一种不健全的体系结构,不仅会增加系统开发和维护成本,而且必将对发挥数据仓库的作用造成不利的影响。Oracle公司是世界上最大的数据仓库厂家,能够提供完整的数据仓库解决方案。根据第三方专业咨询机构TDWI-Forrester所做的市场调查显示,Oracle是大多数IT主管选择数据仓库平台时的首选。IBM数据仓库的市场占有率低于Oracle。权威市场分析机构IDC发布《全球数据仓库平台工具2006年度供应商市场份额》报告,根据2006年度软件收入,把甲骨文评为数据仓库平台工具领域的领先供应商(数据仓库平台工具包括ETL工具、数据仓库存储平台、多维数据库、前端展现工具)。IDC把甲骨文评为数据仓库管理领域的领先供应商,是因为甲骨文的市场份额已接近41%。在数据仓库管理工具市场,甲骨文排名最近的竞争对手的各项指标几乎只有甲骨文的一半,市场份额仅占22.8%。下图是另一家权威市场分析机构Gartner44.14%21.03%17.93%8.62%2.76%1.72%1.72%1.72%0.00%10.00%20.00%30.00%40.00%50.00%MySQL,PostgreSQL,etcSybaseInformixOtherTeradataIBMDB2MicrosoftSQLServerOracle44.14%21.03%17.93%8.62%2.76%1.72%1.72%1.72%0.00%10.00%20.00%30.00%40.00%50.00%MySQL,PostgreSQL,etcSybaseInformixOtherTeradataIBMDB2MicrosoftSQLServerOracle的数据仓库象限图:IBM同样低于Oracle。2ETL工具IBM的ETL工具有三个:收购的DataStage(通常市场上说的IBM的ETL工具指的就是Datastage,不提供增量数据捕获功能,价格昂贵),数据联邦工具:InformationIntegrator(异构连接性好、提供增量数据捕获功能,但是不提供完整的数据源到目标数据库的ETL功能,尤其是数据转换功能很弱,没有ETL步骤打包、流程编排功能,没有按照事件或者时间触发ETL流程的功能,价格昂贵),包在DataWarehouseEdition中的ETL工具SQLWarehousing(功能很弱,异构连接性差,不提供增量数据捕获,是一个新工具,没有什么用户,不是IBM的主流ETL工具)。功能点使用场景或者益处OracleIBM增量数据捕获增量数据加载时,如果数据源系统没有时间戳,或者时间戳不可靠,需要利用读取数据源系统日志或者触发器方式获取增量数据,然后根据需要可以复制到目标数据库上或者批量同步到目标数据库上。OracleDataIntegrator,对于Oracle数据库和DB2400可以采用读取日志方式,其他数据库采用触发器方式InformationIntegrator提供,DataStage霍和SQLWarehousing不提供,对于Oracle数据库采用的是触发器方式抽取、加载、转换功能OracleDataIntegratorDataStage或者SQLWarehousing提供,InformationIntegrator不提供异构数据源和目标支持支持关系型数据库、数据仓库、文件作为数据源和目标OracleDataIntegratorDataStage支持,SQLWarehousing只支持DB2作为目标报错信息采用数据库报错信息便于查找错误原因OracleDataIntegratorDataStage、SQLWarehousing的错误信息都是自己工具的错误信息,不方便查找错误原因高性能OracleDataIntegrator采用ELT架构,数据的抽取加载转换过程在数据库服务器上完成,充分利用数据库的处理能力,从而提高性能DataStage采用ETL架构,数据的抽取加载转换过程在ETL服务器上完成,不能充分利用数据库的函数和处理能力,性能较差。无须单独ETL服务器减少硬件管理和维护OracleDataIntegrator不需要单独的ETL服务器DataStage需要单独的ETL服务器元数据存储在关心型数据库中OracleDataIntegrator的元数据可以存储在任何关系型数据库中,通过数据库开发接口可以访问元数据。DataStage的元数据存储在自己的私有数据库Universe中,不是主流的数据库,对外提供接口方面无法采用数据库的开发接口。3数据仓库功能点使用场景或者益处OracleIBMOLTP和OLAP的支持数据库在此项目中作为数据中心使用,其特性既有OLAP作用,已批量数据加载、查询为主,也有OLTP特性,以高速少量数据的增删改查为主Oracle数据库既支持OLTP也支持OLAP,在TPC-C和TPC-H测试中,都有使用数据库集群或者不使用数据库集群的测试结果。DB2UDB对于OLTP的支持方式是不采用数据库分区(集群),如在OLTP标准测试TPC-C中,从未使用集群方式;对于大数据量的OLAP应用,采用数据库分区(集群),如在OLAP标准测试TPC-H中,全部采用集群方式。作为数据中心这种混合体应用,DB2不适合。分区是提高大量数据下性能的好方法,其实质是将达数据量分割为小数据量,通Oracle数据库提供Range、List、Hash、Range+Hash、List+Hash、Range+List等DB2UDB只支持Range、Hash分区,而且Range分区技术过并行、减少数据量等手段提高性能多种分区方式;Oracle的分区技术从8i就开始,是非常成熟的特性从V9才开始支持表压缩Oracle数据库对数据、索引都进行压缩,并且无论数据增、删、改操作都可以进行压缩DB2UDB在数据删、改时不能进行数据压缩数据库事故恢复Oracle数据库可以在数据库运行和磁盘写入的同时分割镜像。如果存档日志损坏,Oracle数据库能够通过LogMiner工具翻阅损坏的日志文件,恢复日志文件中记录的交易。采用Oracle数据库的块级介质恢复功能,当只有一个块损坏时,只是这个块需要恢复,文件的其余部分,即含有这个块的表仍然可以在线访问,从而提高了数据的可用性。DB2必须在挂起数据库I/O时才能进行分割镜像备份功能;对于DB2来说,存档日志文件损坏意味着不仅特定日志文件中的交易全部丢失,而且损坏日志文件之后创建的存档日志文件也会丢失;DB2不能以块为单位恢复数据,因此需要将整个文件脱机、重建、恢复。分析函数Oracle数据库提供很多分析函数如回归、假设分析、统计函数等查询结果缓存提高查询性能Oracle数据库提供查询结果缓存功能DB2UDB不提供4多维数据库HyperionEssbaseCognosPowerPlay多维数据库定位OLAP技术领域的引导者,业界唯一真正意义的多维数据库,第一个多线程并发处理引擎,支持多用户并发读/写,支持数据库触发器,支持Unicode,内置数据挖掘模型。只读的多维数据立方体,支持简单运算的数据聚合汇总,属轻量级OLAP。适用分析主题提供块存储和聚合存储两种存储方式,满足企业包括财务(财务高级智能)和非财务主题(大量稀疏数据,如客户分析、供应商分析等)全面的分析需求。只提供聚合存储方式,满足小数据量、简单聚合的分析主题。维度设计1根据数据特征提供属性维、共享成员、混合存储等多种灵活维度设计,支持父子维;2选用聚合存储方式,能轻松处理上千万成员维度的分析主题需求;3对层次设计没有要求。1维度设计类型较单一;2处理维度成员在数十万级别,当父节点直接带超过1000个成员的时候立方体往往无法建立。数据的加载和计算1支持不同数据源搭建立方体,数据可分批加载;2支持增量数据更新;3带自动的聚合计算,也可灵活定义计算脚本,完成复杂的计算规则,可以完成分摊、预测、复杂KPI计算等高级分析需求。1单一数据源搭建立方体;2每次数据添加或是数据库结构改变,PowerPlay的立方体都必须重新建立和部署;3只有简单聚合计算功能。大数据量及性能处理能力1目前有不少客户的单个立方体上数百GB规模。Essbase多次成为OLAP引擎的业界基准。1实际当立方体上升到几百M之后基本不可用;2由于使用动态聚合,查询2支持动态聚合,也可设计数据上层节点的聚合存储,实现大立方体下的查询响应速度也非常快。访问时间长。超大规模部署能力支持大规模的跨平台分布式集群部署,在全球有不少超大规模部署的成功案例,如日本NTTDoCoMo,大约30,000个最终用户。难以扩展到超大规模环境应用开发支持支持Java、JSP/ASP、C、VisualBasic、DreamWeaver的编程开发,支持XMLA、CWM和JavaOLAPAPI,降低开发成本和集成复杂度。不支持已有元数据,接口较封闭,使用VBA脚本语言。客户端支持1提供Excel插件,可以在Excel上直接进行动态数据分析和灵活报表编制;2除了BIEE、HyperionPerformanceSuite、HyperionAnalyzer外,业界很多第三方的前端工具都支持Essbase,包括Cognos。接口较封闭,通常只用Cognos的前端。平台支持Windows平台AIX/HP-Unix/SolarisLinuxAS/400OS/390Windows平台AIX/HP-Unix/Solaris5数据挖掘OracleDataMining提供完整的数据挖掘功能,从数据准备、数据选取、算法选择、模型建立、模型优化、打分、结果展现,都能够通过一个统一的图形化界面提供。IBM数据库挖掘分为很多个工具模块,一些是图形化工具、一些是需要编写脚本的分散功能,如IntelligentMiner、IntelligentMinerModeling、IntelligentMinerVisualization、IntelligentMinerforScoring。IBM数据库挖掘工具不能进行模型优化,打分需要利用单独的IntelligentMinerforScoring编写脚本来实现,没有集成到图形化工具中。6前端展现工具功能点OracleIBM性能OracleBIEE提供服务器端的缓存,提高性能;Cognos不提供服务期端的缓存;DashboardOracleBIEE的Dashboard可以集成灵活报表和固定报表、可以集成外部的URL连接、网页、iFrame;可以在图表上方便地集成自定义脚本;OracleBIEE的Dashboard编辑简便。操作系统支持WindowsAIX/HPUX/SolarisLinuxWindowsAIX/HPUX/Solaris和其他工具的集成性OracleBIEE的用户可以存储在文件中、数据库中或者通用LDAP中;OracleBIEE可以按照JSR168标准和Portal集成