1 介绍
数据仓库是面向主题的、集成的、与时间相关的、不可修改的数据集合。数据仓库技术是基于信息系统业务发展的需要,基于数据库系统技术发展而来,并逐步独立的一系列新的应用技术。数据仓库系统可以看作是基于数学及统计学严谨逻辑思维的并达成“科学的判断、有效的行为”的一个工具,也是一种达成“数据整合、知识管理”的有效手段。随着数据仓库技术应用的不断深入,越来越多的企业开始使用数据仓库技术建设自己的数据仓库系统,希望能对历史数据进行具体而又有针对性的分析与挖掘,以期从中发现新客户和客户新的需求。
目前主要的数据仓库产品供应商包括 Oracle、IBM、Microsoft、SAS、Teradata、Sybase、Business Objects(已被SAP收购)等。Oracle公司的数据仓库解决方案包含了业界领先的数据库平台、开发工具和应用系统,能够提供一系列的数据仓库工具集和服务,具有多用户数据仓库管理能力,多种分区方式,较强的与OLAP工具的交互能力,及快速和便捷的数据移动机制等特性;IBM公司的数据仓库产品称为DB2 Data Warehouse Edition,它结合了DB2数据服务器的长处和IBM的商业智能基础设施,集成了用于仓库管理、数据转换、数据挖掘以及OLAP分析和报告的核心组件,提供了一套基于可视数据仓库的商业智能解决方案;微软的SQL Server提供了三大服务和一个工具来实现数据仓库系统的整合,为用户提供了可用于构建典型和创新的分析应用程序所需的各种特性、工具和功能,可以实现建模、ETL、建立查询分析或图表、定制KPI、建立报表和构造数据挖掘应用及发布等功能;SAS公司的数据仓库解决方案是一个由30多个专用模块构成的架构体系,适应于对企业级的数据进行重新整合,支持多维、快速查询,提供服务于OLAP操作和决策支持的数据采集、管理、处理和展现功能;Teradata公司提出了可扩展数据仓库基本架构,包括数据装载、数据管理和信息访问几个部分,是高端数据仓库市场最有力竞争者,主要运行在基于 Unix操作系统平台的NCR硬件设备上;Sybase提供了称为Warehouse Studio的一整套覆盖整个数据仓库建立周期的产品包,包括数据仓库的建模、数据集成和转换、数据存储和管理、元数据管理和数据可视化分析等产品;Business Objects是集查询、报表和OLAP技术为一身的智能决策支持系统,具有较好的查询和报表功能,提供多维分析技术,支持多种数据库,同时它还支持基于Web浏览器的查询、报表和分析决策。
根据IDC发布的2006年数据仓库市场分析报告,上述公司占据了全球近90%的市场份额,提供的数据仓库产品的功能特性已经成为市场的主流。这些公司在推出各自的数据仓库产品的同时也提供了相应的数据仓库解决方案。本文后续内容将针对这些数据仓库产品和解决方案的主要支撑技术进行比较,并结合IDC和 ChinaBI相关报告给出相应的市场情况分析。
2 支撑技术
在数据仓库系列技术中,主要的支撑技术包括数据库技术、ETL技术、OLAP技术、报表技术、数据挖掘技术。
2.1 数据库技术
数据库技术是支撑数据仓库技术的基础技术。尽管在数据仓库技术存储模型方面,基于数据库技术而发展的关系模式的理念已经被颠覆,取而代之是各种各样的数据仓库数据模型,如星型模型,雪花模型等。然而,在已有的数据仓库实践中,关系数据库仍然是实质的数据库存储工具,只是将数据库表改称为了事实表和维表,将属性域之间的关系重新定义为维度,量度,层次,粒度等。
成熟的数据仓库后台数据库包括Oracle、DB2、SQL Server、Teradata和Sybase IQ。在查询效率方面,Sybase IQ由于采用了列存储技术,查询效率比较高;在兼容性方面,Teradata从软件到硬件都必须是专用的,因而兼容性最差;在管理平台和海量数据管理方面,Oracle、DB2和SQL Server都提供了一系列完整的工具,相对于其它产品有着明显的优势;在磁盘空间利用方面,Sybase IQ的压缩比是所有数据库中最好的,而Teradata最为浪费。
另外,SAS公司和BO公司也拥有自己的数据管理能力,但对于大型数据仓库的数据管理,仍然需要使用上述数据库产品,SAS和BO都提供了与这些数据库进行连接的专门接口。
2.2 ETL技术
数据仓库系统是集成的、与时间相关的数据集合,ETL作为数据仓库的核心,负责将分布的、异构数据源中的数据进行抽取、清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。ETL能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。要实现数据仓库中数据的自动更新运转,ETL技术是必不可少的关键技术之一。
主流数据仓库产品供应商都拥有各自的ETL能力。IBM的ETL工具称为IBM WebSphere DataStage,它为整个ETL过程提供了一个图形化的开发环境,支持对多种操作数据源的数据抽取、转换和维护,并将其输入数据集或数据仓库;Teradata的ETL工具称为ETL Automation,它利用Teradata数据库本身的并行处理能力,通过SQL语句实现数据的转换,提供对ETL流程的支持,包括前后依赖、执行和监控等;SAS的ETL工具称为ETL Studio,提供管理ETL流程和建立数据仓库、数据集市和OLAP结构的单控制点。其他几家公司则将其工具融合在大的数据仓库组件中,如Oracle 的Oracle Warehouse Builder (OWB)、SQL Server的Integration Services、Sybase的Data Integration Suite、BO的可扩展数据整合平台Data Integrator。
上述各公司提供的ETL相关工具功能相近,在易用性、效率、价格等方面各有千秋,但就工具的二次开发、集成和开放性而言,与专业的数据集成平台,如Informatica公司的PowerCenter,相比还是存在一定的差距。
2.3 OLAP技术
联机分析处理(OLAP)是针对特定问题的联机数据访问和分析,通过对信息进行快速、稳定、一致和交互式的存取,对数据进行多层次、多阶段的分析处理,以获得高度归纳的分析结果。联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求,由此出现了多维数据库和多维分析的概念。
目前主流的OLAP产品有Oracle Express/Discoverer、SQL Server Analysis Services、DB2 OLAP Server、SAS OLAP Server等,这些产品都可以生成多维数据立方体,提供多维数据的快速分析,支持所有主流关系型数据库如DB2,Oracle,SQL Server,Sybase等,同时可读取关系数据库中细节数据,实现混合在线分析(HOLAP)或关系型在线分析(ROLAP)。并且,各厂商的 OLAP Sever对自己的数据库产品的支持均好于其它数据库,各自的分析工具也都基于开放的OLE DB标准,可以访问支持OLE DB标准的数据立方体。
BO公司和Sybase公司则分别提供了各自的OLAP分析工具OLAP Intelligence和Power Dimension,支持标准OLAP API,如OLEDB for OLAP,能够对Microsoft、IBM等OLAP数据进行划分、钻取等处理,兼容第三方报表和展现工具。Teradata尽管不提供独立的OLAP 工具,但提供了相关技术,用于提升运行于Teradata数据库上的OLAP应用系统的性能。
2.4 报表技术
报表技术主要是将集成在数据模型里的数据,按照复杂的格式、指定行列统计项,计算形成的特殊表格。一般的简单报表可以使用通用的前台展现技术实现,而复杂的报表则需要使用特定的报表技术。主流的报表技术都可以灵活的制定各种报表模版库和指标库,并根据每个区块或单元格的需要引用指标,实现一系列复杂的符合要求的报表的自动生成。
主流数据仓库厂商的报表工具中较为有影响包括IBM的Cognos ReportNet、BO的Crystal Reports、Oracle的Oracle Reports。IBM通过收购Cognos公司获得了完整的报表产品Cognos ReportNet,覆盖了各种报表需求,包括管理报表、商业报表、账单和发票等;BO公司提供了一个完整的企业报表解决方案Crystal Reports Server,支持通过Web快速便捷的创建、管理和交付报表;Oracle Reports工具提供了自由的数据格式方式,可以自动生成个性化字母或矩阵风格的布局,包括动态、数据驱动的图表;SQL Server的报表功能包含在Reporting Services (SSRS)中,包括处理组件、一整套可用于创建和管理报表的工具、在自定义应用程序中集成和扩展数据和报表处理的API。与上述产品相比,Sybase 的InfoMaker、Teradata的BTEQ和SAS的Report Studio等报表产品在功能、性能、二次开发等方面都还存在着一定的差距。
总的来说,这些产品在大部分通用软件领域相对国产软件都要优秀,但在有中国特色的报表领域内却是例外,在处理能力存在一定的不适应性。另外这些产品的数学模型都是基于SQL/OLAP理论设计的,在技术上也不能满足国内复杂报表的制作需求。
2.5 数据挖掘技术
当数据积累到一定数量时,某些潜在联系、分类、推导结果和待发现价值隐藏在其中,可以使用数据发掘工具帮助发现这些有价值的数据。数据挖掘就是从海量数据中,提取隐含在其中的、人们事先不知道的但又可能有用的信息和知识的过程。通过数据挖掘能找出数据库中隐藏的信息,实现用模型来拟合数据、探索型数据分析,数据驱动型的发现,演绎型学习等功能。
目前,IBM公司的IBM Intelligent Miner支持典型数据集自动生成、关联发现、序列规律发现、概念性分类和可视化呈现,可以自动实现数据选择、数据转换、数据发掘和结果呈现这一整套数据发掘操作;Oracle公司提供的数据挖掘平台称为Oracle Data Miner,它提供了的一个图形用户界面,通过简单易用的向导来指导完成数据准备、数据挖掘、模型评估和模型评价过程,根据需要自动生成将数据挖掘步骤转换成一个集成的数据挖掘/BI应用程序所需的代码;SAS公司的SAS Enterprise Miner将数据挖掘过程简单流程化,支持关联、聚类、决策树、神经元网络和经典的统计回归技术;Teradata公司的挖掘工具称为Teradata Warehouse Miner,它通过将数据挖掘技术整合到数据仓库来简化数据挖掘流程,该工具还可实现将多家厂商的数据挖掘技术嵌入Teradata企业级数据仓库环境中运行;Microsoft数据挖掘平台不同于传统数据挖掘应用程序,它支持组织中数据的整个开发生命周期,允许第三方添加自定义算法以支持特定的挖掘需求,支持实时根据挖掘的数据集进行数据验证。对比于上述公司,Sybase和BO公司并没有推出专门的数据挖掘平台或工具。
和前几项支撑技术相比,数据挖掘技术的专业性更强,与应用领域的特殊背景结合得更加紧密。上述产品除了在性能、通用性、数据展示、二次开发上有一定差异外,没有一个能够占据绝对技术和市场优势,反而是一些专门领域内的专业挖掘工具更具竞争性,如Fair Isaac公司占据了全球信用卡积分市场近7成的份额。
主要是数据挖掘算法
有分类,有bayes、决策树、svm等;
聚类,有K-means、isodata等;
关联,有apriori和改进的apriori算法,
序列分析等方面的算法。
这些都是正统的,基于数据库的数据挖掘必备知识。
3 市场分析
国际权威市场分析机构IDC将数据仓库平台工具市场细分为数据仓库生成(Data Warehouse Generation)工具市场和数据仓库管理(Data Warehouse Management)工具市场两个部分,前者涵盖数据仓库的设计和ETL过程的各种工具,后者指数据仓库后台数据库的管理工具,如DBMS。根据IDC 发布的《全球数据仓库平台工具2006年度供应商市场份额》分析报告,2006年该市场增长率为12.5%,规模达到57亿美元,其中数据仓库生成工具和数据仓库管理工具两个市场的比重分别为23.3%和76.7%,相对于数据仓库管理工具市场,数据仓库生成工具市场的增长进一步放缓。可以预见,整个数据仓库市场将进一步向拥有强大后台数据库系统的传统厂商倾斜。从供应商看,Oracle公司继续占据数据仓库管理领域的领先供应商地位,并且与其主要竞争者 IBM之间的这种领先优势正逐渐扩大。Microsoft紧追IBM之后,与其之间的差距则在逐渐缩小。
在国内,商业智能已经成为企业信息化中最重要的组成部分,而数据仓库相关技术在其中扮演着无可替代的重要角色。据ChinaBI统计,2007年中国大陆地区的BI市场份额约为20亿元人民币,同比2006年增长35%,其中BI产品许可证约为9亿元人民币,BI系统集成约为11亿元人民币。现有BI厂商包括产品提供商、集成商、分销商、服务商等有近500家,在未来几年内商业智能市场需求旺盛,市场规模增长迅速。从国内数据仓库实践看,根据ChinaBI评选的2007年中国十大数据仓库的初步结果,传统数据库厂商占据7个,分别是IBM 3个、Oracle 3个、SQL Server 1个,其余3个属于NCR/Teradata公司;从数据仓库规模来看,传统数据库厂商更占有巨大优势,总数据量为536.3T,Teradata则为 54T。涉及的行业包括通信、邮政、税务、证券和保险等。
在数据仓库市场快速发展的同时,市场竞争也日趋激烈,其中尤其以Oracle收购Hyperion、SAP收购BO、IBM收购Cognos具有代表意义。截至2007年底,混乱的市场已经基本明朗化,三个层次逐渐浮现出来。Oracle,IBM,Microsoft和SAP位居第一层次,能够提供全面的解决方案;第二层次是NCR Teradata和SAS等产品相对独立的供应商,可以提供解决方案中的部分应用;第三层次是只专注于单一领域的专业厂商,但其在并购的硝烟中日趋难以存活。