在数据库领域,2007年发生的最大新闻无疑就是甲骨文发布Oracle Database 11g.这可以看作是对2006年IBM发布DB29 Viper数据库版本的一种回应,也是关系型数据库在完善中继续前行的一个表现。
作为企业信息系统的一个重要基础部分,如今的数据库已经发展得非常成熟,无论是从技术的角度还是从用户的角度来看,要取得重大的突破不是一件容易的事情。甲骨文服务器技术执行副总裁Chuck Rozwat曾经在一个公开场合表示,在现在以及未来的相当长一段时间里,关系型数据库仍然是数据库市场上的主流,如果说有进展的话,大部分也只是在原有的技术基础上修修补补,进行功能的优化以及为更加适应应用而做出完善。
不过,在关系型数据基础上,各大厂商纷纷从支持XML、应对大容量挑战以及开源等方面来推动数据库技术的革新。这也是今年数据库技术和应用的热点和未来一段时间的趋势。
XML——接纳更多数据类型
7月11日,甲骨文在全球推出了其数据库11g,该版本坚持对网格的支持,另外还增强了对于XML的支持。利用其中的一个组件XML DB,客户可以以本机方式存储和操作XML数据。11g还增加了对二进制XML数据的支持,现在客户可以选择适合自己特定应用及性能需求的XML存储选项。
而2006年,IBM新面世的DB2 9Viper数据库直接把支持XML作为其新产品的最大卖点,号称是业内第一个同时支持关系型数据和XML数据的混合数据库,无需重新定义XML数据的格式,或将其置于数据库大型对象的前提下,IBM DB2 9允许用户无缝管理普通关系数据和纯XML数据。
其实,在9i中,甲骨文就开始支持XML,而今年新发布的11g更是在支持XML方面的功能得到了扩展和增强。Sybase、微软也宣传它们的产品可以实现高性能XML存储与查询,使现有应用更好的与XML并存。
主流的数据库厂商均推出了兼容传统关系型数据与层次型数据(XML数据)混合应用的新一代数据库产品,主要是因为互联网普及和影响的结果。随着互联网时代的到来,在 Web大背景下“泛数据”管理成为人们关注的重点。所谓泛数据就是指包含了文档、电子邮件等各种类型的数据,这些数据通常都不是以行和列的格式存在的,不像关系数据那样是严格的结构化数据,因此对这类数据的存储管理以及快速高效的查询是对传统关系型数据库的挑战。
目前XML标准日益成熟,并很快成为各种复杂的异构数据交换的核心技术和未来数据定义的标准格式,因此,将Native(原生) XML格式的数据存储在关系数据库中,并支持对XML查询,正是这些新推出的数据库产品的亮点之一。
应对大容量挑战
数据库应用的成熟,使得企业数据库里承载的数据越来越多。随着数据的增多,企业面临的问题首先是如何更有效地管理这些数据,以及如何发挥数据的价值。目前看来,数据库厂商应对这些挑战的方法不外乎两种:一是不断增强数据库产品自动化管理和压缩的功能,二是嵌入商业智能的功能以整合和利用数据。
比如最新的11g引入了更多的自助式管理和自动化功能,包括自动SQL和存储器微调、新的划分顾问组件自动向管理员建议、增强的数据库集群性能诊断功能等等,这些新增的功能可以有效地帮助客户降低系统管理成本; 另外,它还具有极新的数据划分和压缩功能,将很多原来需要手工完成的数据划分工作实现了自动化,实现2x至3x或更高的压缩比。
实际上IBM DB2 9也在自动化管理方面进行了改进,比如其适应性、自调式内存分配,自动状态检测功能、自动存储支持、自动统计数据收集等等,另外IBM也强调了其数据行压缩技术的压缩功能。显然这些对于大容量数据的管理都非常有必要。
大容量的数据带来另外一个问题是,给抽取具有决策意义的信息(有用的数据)带来了极大难度,这就需要商业智能。商业智能是指以帮助企业决策为目的,对数据进行收集、存储、分析、访问等处理的一大类技术及其应用,由于需要对大量的数据进行快速地查询和分析,传统的关系型数据库已不能很好地满足这种要求。
例如,为了让客户在实施商业智能项目时不必面对多种专门的数据挖掘、OLAP和统计分析工具,甲骨文有意直接把这些功能合并到数据库中。11g在数据仓库方面也引入了创新。OLAP行列现在可以在数据库中像物化图那样使用,因此开发人员可以用业界标准SQL实现数据查询,同时仍然受益于OLAP行列所具有的高性能。新的连续查询通知(Continuous Query Notification)组件在数据库数据发生重要变化时,会立即通知应用软件,不会出现由于不断轮询而加重数据库负担的情况。
其他数据库厂商也不会放过这一趋势,IBM一直把商业智能应用当作 DB2的一个重要发展方向,并将商业智能功能构建到 DB2引擎中,例如DB2本身内置了数据库、在线分析的处理(OLAP)、各种分析等功能,微软从1997年开始在数据库产品中增加了BI功能,在SQL Server 2005中,微软将提供统一数据模型,同时支持OLTP和OLAP两个模型,并通过XML/A接口,实现对数据库和数据仓库的访问,把关系数据库和BI功能整合在一起。
开源或者免费——瞄准中小企业
Oracle 11g正式发布之时,甲骨文就同时宣布将支持Linux.8月15日,Oracle公司则宣布完全基于Linux平台的Oracle 11g正式开始供货,同时推出企业版的几个新的功能选项。这可以算得上是甲骨文在开源策略上的又一重大动作。
大型的数据库厂商近年来一直面临开放源码产品的竞争。今年3月,第三方市场调查机构Evans数据公司最近公布的一系列客户调查数据显示,在过去两年里,MySQL在所有开发者使用的数据库中获得了25%的市场份额。调查显示,数据库的使用者中有40%是开发人员,而两年前这一数据是32%.Evans数据公司指出,随着越来越多的开发者使用开源软件(2006年秋在北美的比率是65%),MySQL的使用在未来会持续增长。
这使得甲骨文逐渐向开源方向靠拢,它买下Sleepycat软件公司,取得该公司的 Berkeley DB开放源码数据库,以及去年买下的Innobase Oy所开发的InnoDB数据库引擎可将数据储存在MySQL数据库中,该引擎可透过MySQL数据库开源码通用授权取得。而此次提供Linux版本的Oracle 11g可谓是对其他开源数据库的回击。
联想到此前,各主流数据库厂商也已经推出了一些提供简单功能的免费数据库产品。早在2005年,甲骨文就推出了一款免费的Oracle Database 10g Express Edition,微软向微型企业推出免费的SQL Server 2005版本。2006年IBM也发布了一款免费版DB2数据库软件,以吸引更多的软件开发人员使用其产品。
不管是推出Linux版本数据库,还是免费数据库,一方面固然是抵御开源数据库的不断侵蚀,另外也拥有一个更根本的目的,那就是抢占更多的中小企业市场,毕竟大型企业的数据库市场已基本饱和