开源数据库前途或将堪忧
2009-11-10 08:45:07 阿炯

如果MySQL被最大的私有数据库厂商Oracle收归麾下,可能遭到Oracle的抛弃甚至打压。如果MySQL这面大旗倒下了,开源数据库的发展将受到很大的挫伤,甚至改变目前的市场格局。而Red Hat以1900万美元注资开源数据库厂商—EnterpriseDB,这极可能是新一轮争夺战开始的信号。

MySQL被称为是最好的开源数据库”,如今它的命运却取决于Oracle与Sun并购案的结果。有消息说,正在调查该交易的欧盟委员会将在11月19日做出是否批准该交易的决定。2008年2月被Sun以10亿美元收购的MySQL,前路仍然难料。有意思的是,10月27日,Red Hat宣布以1900万美元注资开源数据库厂商—EnterpriseDB。消息一出,立刻被业界解读为Red Hat另辟蹊径发展开源数据库,不想以后受制于Oracle和MySQL。如果MySQL的大旗倒下了,众多力量分散且弱小的开源数据库将展开激烈的争夺,开源数据库市场也许将进入春秋战国时期,而谁又会是下一个市场领袖呢?

“标杆”MySQL

在几百亿美元规模的数据库市场中,开源数据库的份额微乎其微。以IDC 2007年对全球数据库市场的统计为例,在总共188亿美元的市场中,Oracle、IBM、微软位列前三位,合计市场份额达到83.8%,而MySQL 以3800万美元的收入占到0.2%。Gartner预计,2013年开源数据库市场将突破10亿美元,但与整个数据库市场相比,依然小得可怜。

不过,开源数据库却展示出了高成长性。Gartner数据显示,2008年开源数据库的收入增长了42.4%,开源数据库的使用增长了50%,被调查的企业中,73%正在使用开源数据库,相比上年的49%有很大增长。在这个不大的市场上,MySQL有着重要的地位。中国开源软件推进联盟主席陆首群表示,MySQL、PostgreSQL、EnterpriseDB 是全球三大开源数据库。MySQL既是一个开源的开发社区,提供自由下载使用的免费版本,也提供商品化的产品,收取技术支持服务费用。

数据显示,截至2009年1月,MySQL的用户有1100万,谷歌、雅虎和亚马逊等许多互联网公司都是它的用户。被Sun收购之后,MySQL先后开发出MySQL5.0、MySQL enterprise等新产品,在MySQL5.1对外开放的头10天内,下载次数就超过了25万次。陆首群表示,MySQL在中国市场也有不错的销售业绩。2007年,华为、爱立信中国、西门子中国等大企业都采购了MySQL的产品。2008年,MySQL又获得了新浪等公司的青睐,当年在中国市场的销售额达到1500万元,估计今年的收入将超过2000万元。

因此,MySQL的一举一动都是开源数据库市场的风向标。如今,它的前途因为Oracle与Sun并购的悬而未决而飘忽不定。尽管Oracle承诺会保持MySQL的独立性,众多反对者还是担心,如果MySQL被最大的私有数据库厂商Oracle收归麾下,可能遭到Oracle的抛弃甚至打压。

MySQL前途难料

最近几年,在开源大势之下,Oracle、IBM、微软等已经纷纷向开源伸出了橄榄枝。“IBM和Oracle既有商业数据库,也有开源数据库,采取了两手发展的策略,问题只是什么时候从幕后走到台前罢了。”陆首群说。不过,这些“大佬”虽然打出了开源的旗号,但他们离真正的开源还有很远的距离。这也是业界担忧MySQL的前景、强烈建议Oracle将MySQL出售给独立第三方的原因。

开放源代码软件社区领袖Richard Stallman在给欧盟委员会的信中表示,“如果Oracle是今日旧数据库市场的统治者,MySQL就是未来新兴数据库市场的主导者,MySQL可以被视为Oracle未来最重要的竞争对手。”

一旦MySQL被Oracle所合并,Oracle不仅没有义务积极推销MySQL,或以合理价格提供其商业授权,更没义务拿自己的营收来改进MySQL。面对商业数据库软件与开源数据库之间的利益冲突,恐怕Oracle会优先保护其收费的数据库产品。曾是MySQL股东和顾问的Florian Mueller表示,“让Oracle得到MySQL比让狐狸负责鸡舍更可怕,因为母鸡没有对狐狸构成威胁,而MySQL却让Oracle丢失客户,并不得不给一些因威胁可能离开的客户以折扣。”

Mueller反对Oracle得到MySQL,他认为目前的事实表明,Oracle只是想借此摆脱自己的开源挑战者。Stallman也表示,MySQL被Oracle合并将是一种倒退,可能会瓦解MySQL的核心开发者社群。而产生另一个足以与MySQL相提并论的数据库平台,恐怕还需要很多年的时间。

谁是下一个领袖?

“多年来PostgreSQL一直活在MySQL的阴影下,现在也许是它大放异彩的时候了。过去公司花费了太多的时间讨论与MySQL的竞争,以及如何从Oracle移植过来。在刚刚发布Postgres 8.4数据库时,EnterpriseDB没有提及任何竞争对手,这是一个可喜的变化。”CNET网站的一篇文章说。对Red Hat来说,注资EnterpriseDB是一笔不错的买卖。“Red Hat是一个开源比较全面的公司,既有Linux操作系统,又通过并购Jboss得到了开源中间件,这次又获得了开源数据库,开源产品线不断完善。”陆首群说。目前,很多企业在应用开源数据库的同时也使用开源操作系统,反映了市场需要的变化。

EnterpriseDB在最近几年异军突起,成为支持和推动PostgreSQL发展的领先厂商。PostgreSQL一直是开源数据库市场的柱石,被称为“最先进的开源数据库”。2008年3月,EnterpriseDB获得了新一轮总额达1000万美元的投资,其中就有IBM的参与。当时的文章显示,EnterpriseDB拥有超过200家客户,预计2008年度实现盈利。

2007年7月,EnterpriseDB携带EnterpriseDB Advanced Server产品正式进军中国市场。资料显示,许多为Oracle设计的应用软件无需修改即可移植到EnterpriseDB上,也可以轻松地从 Microsoft SQL Server、MySQL和Sybase数据库移植过来。陆首群认为,除了以IBM为首的J2EE、以微软为首的.Net架构外,由开源软件形成的LAMP(Linux、Apache、MySQL、PHP)架构正在蓬勃发展,成为三大IT架构之一。有了这样的架构,开源厂商可以为用户提供完整的解决方案,而开源数据库是其中不可或缺的一个部分。

“近日,美国的白宫网站完全采用了LAMP架构,美国国防部等机构也对安全性高、成本低、灵活性好的开源软件表示出了极大的兴趣。美国还出现了 WAMP的混源架构,即在Windows操作系统的基础上,采用开源的中间件、数据库等。”陆首群表示。在市场需求不断释放的刺激下,越来越多的厂商开始挖掘开源的市场机会,新的开源数据库领袖正在形成。

了解开源数据库

开源数据库发飙

开源数据库的销售额在增长,并正在被越来越多的用户所采用。在嵌入式数据库领域,开源数据库优势明显。分析师称开放源码正在迅速被数据库技术所采用。开放源码“从2003年被怀疑到2006年将被发展成为全球的主流技术”。低成本甚至免费的开源数据库时代即将来临。

像很多公司一样,美国国家半导体公司一直在寻找一种削减系统成本的方法,并把Linux和其热衷的开源软件列入了公司IT发展策略的清单。当这家位于美国加利福尼亚的公司开始向Linux转移时,其中一个大的项目就是把目光对准了开源数据库,希望借助开源数据库,找到一种适合其系统架构的低成本数据管理产品。美国国家半导体公司的CIO Ulrich Seif 先生说:“去年我们就开始关注开源数据库MySQL,希望它能尽快支持我们选择的Linux服务器等硬件产品,我们希望能够将基于IBM硬件的数据库应用业务转移到基于Intel平台的硬件上。”

公司也考虑采用PostgreSQL,同时一些小的商业应用也运行在这一开放源码的数据库系统上。Seif说:“今年开始实施的项目密切注视开源数据库产品的发展路线图,并关心它如何在第二层的数据库环境成功地部署和应用。”

其实,美国国家半导体公司并不孤独。开源数据库系统并不是一个新事物,如Postgres已经有20年的发展历史了,而著名的MySQL今年4月刚刚度过了其10周年纪念活动。开源数据库系统也越来越具有更多的企业级产品特征。迅速增长的企业级用户看重它与庞大的、昂贵的、版权私有的商业数据库系统相比的低成本。开源数据库的销售额在增长,并正在被越来越多的用户所采用。开源数据库的时代即将来临。

开源数据库长大了

选择开放源码软件的因素有多种,而近来大量开发者的加入让这一市场变得越来越成熟。以前,人们总认为开放源代码数据库也有它的劣势,比如它没有稳定的技术支持,如果使用中出了问题将会是很麻烦的事。不过目前也出现了一些公司对这些开放源代码的数据库产品提供非免费的技术支持。看看,Novell、Dell 和HP公司等开始出售MySQLAB的数据库产品,并提供支持服务。

8月初,Apache Foundation公司发布了Apache Derby的第一个版本,这是IBM于去年贡献给开放源码社区的一个数据库原型产品。至于Postgres,最近有许多公司宣布可以提供对 Postgres的技术支持。这些公司中的代表如EnterpriseDB成立于今年5月23日,在今年的LinuxWorld上战胜了IBM、 MySQL和Oracle,赢得了“最佳数据库解决方案”。在8月初,它宣布了其基于开放源码的关系数据库管理系统软件EnterpriseDB 2005。

在今年2月,MySQL发布了其基于订阅的MySQL网络,以提供全面支持和公司应用部署。在其冗长的用户名单中包括了Sabre Holdings、大陆航空公司和克莱斯勒汽车公司等。Sleepycat软件公司9月初宣布General Dynamics公司的子公司General Dynamics C4 Systems已经部署了其用Java编写伯克利版的数据库,支持美国国防部过去使用的可视化和协同工具。

各种开放源代码数据库有许多种,主要来说有三种:一是由大学科研原型系统转变为当今的开放源代码数据库,如 PostgreSOL;二是由一个入或者几个人自发开发的数据库系统,如MySQL;三是一些商业数据库为了推广自己的产品,扩大市场份额,开放了自己的源代码,如interBase和SAPDB。

Forrester调研公司高级分析师Michael Goulde说,我们现在每天都要回答大量的对开放源码数据库的用户咨询,以便寻找到一种方式减少IT系统的成本。用户关注其IT系统中最常见的IT技术和产品,希望采用开放源码的技术和产品代替他们以前花费了大量资金购买的技术和产品,这其中就包括数据库。

的确,SQL和其他已经确立的数据库标准,为开放源码数据库项目发展自己的产品,以更简单的方式满足商业公司的IT架构需要提供了一个难得的发展机遇。开源数据库可能不能提供如Oracle或者IBM的数据库那么多的功能和性能,但是分析师指出,在很多情况下,用户实际拥有的系统很多功能和性能没有应用,但是用户通常却要为整个系统付费。

开源数据库如雨后春笋般涌现

今天,开放源代码软件的使用越来越广泛。像Linux操作系统一样,开放源代码数据库的出现也有其必然性。在当 Oracle、IBM、Microsoft、Sybase等几大数据库厂商在数据库领域处于垄断地位的时候,出现了以MySQL、PostgreSQL为代表的开放源代码的数据库系统,推动了开源软件事业的发展。

Forrester公司调查后认为,目前有2/3商业用户以不同形式使用开放源码数据库产品。用户认同了开放源代码数据库相比商业数据库的许多优势,其中包括使用免费,管理简单,系统小巧精干,功能可以与商业数据库相比,甚至更强大(如PostgreSQL)等。开放源代码数据库没有稳定技术支持的劣势,正逐渐被解决。

据不完全统计,目前世界上存在至少上百种开放源代码数据库系统。ACM/SIGMOD(美国计算机学会数据库专委会)列出了60种公众可以使用的开放源代码数据库系统。这其中包括比较著名的MySQL、PostgreSQL、SAPDB、InterBase、 mSQL(miniSQL)等数据库系统,同时还有许多用Java写的数据库系统和XML数据库,如HyperSonic、XQL、MekoiSQL、 sMYLE、eXist等。

MySQL是1979年Michael Monty 为瑞典一家公司TcX开发的数据库,它是一个快速的多线程和多用户的数据库系统。MySQL在开发初期就为自己定了一个目标,那就是“世界上最流行的开放源代码的数据库”。现在看来,MySQL堪称开源数据库的领军者,同时其数据库在功能上也不存在明显缺陷。9月初 MySQL 5.0已经分发。MySQL自称安装用户已经达到了600万,包括了1500 家网上签约客户和合作伙伴,以分发产品和提供服务。其中不乏大型商用用户,如 Sabre Holdings和PriceGrabber.com。

PostgreSQL对自己的定位是最先进的开放源代码的数据库。20年来,在应用中用户也深深地体会到了这一点。Postgres项目开始于l984年,它是加州大学Berkeley分校的Michael Stonebraker领导的一个科研项目,当时Postgres使用的查询语言是自己定义的Postquel语言,1994年Andrew Yu和Joliy Chen为Postgres增加了一个SQL的解释器,这就是Postgre95。l996年开发者选择了一个新的名字PostgreSQL,以反映 Postgres版本和SQL的能力。

PostgreSQL是一对象关系数据库系统,它不仅支持关系数据库的各种功能,而且还支持类、继承等功能。 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这一数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。

SAPDB给自己的定位是面向企业的开放源代码数据库。SAPDB是德国软件巨头SAP公司开发的数据库系统,2000年年底SAP公司决定开放其数据库系统的源代码。SAPDB国内用户比较少,在欧洲使用的人可能多一些。SRPDB系统给我们的感觉是与 Oracle很像,兼容Oracle的SQL语法,并有像Oracle一样的数据库管理的GUl,管理数据库非常容易方便。

firebird是一个全功能的、高效的、轻量级、免维护的数据库。它很容易让您从单用户、单数据库升级到企业级的应用。一个firebird数据库服务器能够管理多个独立的数据库,每一个数据库同时可支持多个客户端连结。Firebird可以在最常见的硬件环境中工作,甚至非常差的硬件中,也能很好地工作。当然,硬件的要求依赖于你想做什么,例如你有多少个并发用户等。Firebird在常见的平台上都可运行,如Linux和Windows(包括Windows终端服务器)。它支持的平台还包括MAC OS、Solaris及HP-UX。当前有三个服务器版本:标准服务器,每一个客户连接将引发一个服务器进程(支持多处理器);超级服务器,一组服务器进程模块管理所有的客户端连接,当前不支持多处理器;嵌入服务器,整个服务器引擎就是一个动态库,只支持本地通过I/O进行调用。但是,所有的服务器都使用一种数据库格式,因此,你可以很方便地在不同的引擎之间共享数据库文件的数据。

开源数据库嵌入式应用占头筹

自出现商业应用软件以来,数据库就成为软件应用程序的主要组成部分。与数据库管理系统非常关键一样,它们也变得非常庞大,并占用了相当多的系统资源,增加了管理的复杂性。随着软件应用程序逐渐模块化,一种新型数据库会比大型复杂的传统数据库管理系统更适应用户的需求。嵌入式数据库直接在应用程序进程中运行,提供了零配置(zero-configuration)运行模式,并且资源占用非常少。

嵌入式数据库有其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机/服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,需要的内存较少。它们是使用精简代码编写的,对于嵌入式设备,其速度更快,效果更理想。嵌入式运行模式允许嵌入式数据库通过 SQL 来轻松管理应用程序数据,而不依靠原始的文本文件。

嵌入式数据库还提供零配置运行模式,这样可以启用其中一个并运行一个快照。这意味着事务是原子的,它们要么完全执行,要么根本不执行。事务也是一致的,因为在不一致的状态中,该数据库从未被保留,事务还是独立的。所以,如果在同一时间在同一数据库上有两个执行操作的事务,那么这两个事务是互不干扰的,而且事务是持久性的。所以,该数据库能够在崩溃和断电时幸免于难,不会丢失数据或损坏。

基于嵌入式移动数据库的应用可划分为水平应用和垂直应用。所谓水平应用,是指应用方案能够用于多种不同行业,只需要极少的定制工作;而垂直应用则针对特定行业的应用,数据处理具有独特性。开源的嵌入式数据库产品很多,Berkeley DB就是一个开放源代码的内嵌式数据库管理系统。应用它程序员只需要调用一些简单的API,就可以完成对数据的访问和管理。它是通过内嵌在程序中的 Berkeley DB函数库来完成对数据的保存、查询、修改和删除等操作。

Berkeley DB为许多编程语言提供了实用的API接口。所有同数据库相关的操作都由Berkeley DB函数库负责统一完成。这样无论是系统中的多个进程,或者是相同进程中的多个线程,都可以在同一时间调用访问数据库的函数。而底层的数据加锁、事务日志和存储管理等都在Berkeley DB函数库中实现。它们对应用程序来讲是完全透明的。

麻雀虽小五脏俱全。Berkeley DB函数库本身虽然只有300KB左右,但却能够用来管理多达256TB的数据,并且在许多方面的性能还能够同商业级的数据库系统相抗衡。就拿对数据的并发操作来说,Berkeley DB能够很轻松地应付几千个用户同时访问同一个数据库的情况。此外,如果想在资源受限的嵌入式系统上进行数据库管理,Berkeley DB可能是上佳的选择。

SQLite是D. Richard Hipp 用C语言编写的开源嵌入式数据库引擎。它是完全独立的,不具有外部依赖性。SQLite支持多数 SQL 92标准,可以在所有主要的操作系统上运行,并且支持大多数计算机语言。SQLite还非常健壮。其创建者保守地估计, SQLite 可以处理每天负荷多达1万次点击率的Web站点,并且 SQLite有时候可以处理10倍于上述数字的负载。

SQLite的数据库权限只依赖于文件系统,没有用户账户的概念。SQLite 有数据库级锁定,没有网络服务器,并且可以实现多数SQL92标准(但不是全部)。用户需要了解哪些SQL92功能未实现。SQLite 通过数据库级上的独占性和共享锁定来实现独立事务处理。这意味着当多个进程和线程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进程或线程向数据库执行写入操作之前,必须获得独占锁定。在发出独占锁定后,其他的读或写操作将不会再发生。

HSQ是一个用Java编写的轻量级数据库。程序员可以用自己的软件直接连接数据库源代码。

移植到开源数据库时应注意的问题

Forrester分析师Noel Yuhanna 在2004年12月撰写的题目为“开放源码数据库时代来了”的报告中认为:“数据库变得越来越通用化和日常化,很少有企业需要高级的数据库功能。我们估计,由商业关系数据库系统产品提供的大多数高级功能很少有企业用户采用,它们有时可能需要,但是在许多项目或者应用中并不需要。”

以国家半导体公司为例,Seif最近将应用从Sybase数据库移植到 Oracle数据库,但是了解到并不是所有的应用都需要高端的Oracle数据库的所有功能。每一个用户都有一个小的合身的数据库,但是它们却拥有一个高端的数据库解决方案,需要专门的技术人员和厂商的支持。许多用户认为,当考虑开放源码数据库时,一个问题逐渐浮出水面,那就是应用移植的方便性、性能的水平和支持来自哪儿。

PriceGrabber.com 公司技术总监Corey Ostman认为:“假如你正在将应用从商业的个人拥有的数据库转移到开源数据库上时,那么你必须仔细检查应用的类型。”这家位于美国加利福尼亚的公司从 1999年就开始使用MySQL。该公司也曾经考虑采用Oracle的产品,但是最后选择了性能和支持都更好的MySQL。一个简单的只读应用选择一个新型的数据库产品一般不会引起太大的争论。更复杂的是,读/写事物处理的数据库可能需要商用数据库,可能需要做更多的工作。

加利福尼亚州Garden Grove城的高级信息系统分析师Noel Proffitt说,数据库应用部署成功的关键是从小做起。Garden Grove自2002年开始就在使用PostgreSQL,同时大多数应用使用开放源码的数据库。下载PostgreSQL就可以开始用了,你不会收到任何让你付费的通知。没有许可证到期的顾虑。所以在你的应用中用它,应用会变得越来越成熟。IBM、Oracle和Microsoft 并没有重视来自开放源码数据库的压力。Oracle公司总裁Charles Phillips 说,开放源码数据库对引入新用户发挥着重要的作用,这些用户我们以前不了解。40%的开源数据库用户以前没有使用过数据库,当他们需要数据库完成关键业务时,他们会选择商用数据库,包括Oracle的产品。

但是采用开放源码系统包括开放源码数据库的用户很明显正在快速增长。Forrester公司估计,开源数据库在 2004年的市场销售额已经达到了1.2亿美元,虽然只占超过100亿美元的DBMS市场的一小部分。今年,Forrester通过对95位已经使用或者在未来12个月计划使用Linux 或者开放源码系统的IT主管的调查后发现,其中超过一半的企业已经使用了开源数据库MySQL。

分析师认为,在大多数情况下,开源数据库并不支持大多数关键应用。正因为如此,除了专门应用领域外,开放源码数据库很难撼动占据企业核心应用的IBM、Microsoft和Oracle数据库产品的地位。Burton集团高级分析 Peter O'Kelly认为,“在商业DBMS市场中,这三家企业控制了超过85%的收入。

(这部分源自计算机世界报 2005年10月10日 第38、39期 B2、B3)


盘点2006开源数据库--面临竞争和收购的选择

年终岁末,又到盘点之时,我们就一起来看一下在2006年一年之中,关于开源数据库,发生了哪些事情。

摆在开源数据库面前的“收购毒饵”近年来,数据库领域的开源数据库公司和产品常常面临被收购的危险,更何况还有Oracle这个收购“狂人”在推波助澜。继2005年10月份Innobase公司及其开源数据库InnoDB被Oracle收购之后,2006年2月份,位于美国加州的开源数据库厂商Sleepcat公司及其旗下产品BerkeleyDB数据库也被商业数据库巨头Oracle收购了。并在这之后,Oracle还试图收购另一开源数据库厂商MySQL——但是,MySQL的首席执行官在2006年7月份的一次技术论坛上对此表示,希望“保持MySQL公司的独立性”,从而拒绝了Oracle的“好意”。

从InnoDB和BerkeleyDB的技术特性上来看,Oracle最想收购的也许是MySQL。

InnoDB和BerkeleyDB技术在一段时间之内,曾是MySQL数据库中的关键性技术。InnoDB采用GPL许可协议,被捆绑在MySQL数据库中。MySQL曾经普遍地使用InnoDB做为自己的事物型数据存储引擎。而Sleepycat的Berkeley DB曾是MySQL的一个重要的嵌入式事物型存储引擎——MySQL在最初并没有属于自己的用于负责数据的物理存储和索引的存储引擎。

InnoDB曾经是MySQL 5中的一个核心部分。在被Oracle收购之后,MySQL出于自己的某些考虑,在2006年2月底宣布采用Firebird数据库架构来取代InnoDB——InnoDB是Firebird社区中讨论得最热烈的。但是,MySQL要把Firebird变成企业级的关系事务处理型的数据库引擎,还需要付出很大的努力。而在2006年4月份,有分析人士认为 MySQL会考虑把SolidDB做为自己的事物存储引擎,以替代被Oracle收购的InnoDB。事隔3个月之后,2006年7月25日,Solid Information Technology公司宣布,其专门为MySQL量身定做的Beta版SolidDB Storage Engin正式对外发布。

从表面上看,对Sleepcat的收购可以拓展Oracle对嵌入式DBMS(Database Manage System,数据库管理系统)的支持。针对移动设备,Oracle已经拥有了自己的Oracle Lite;而对于高性能分析和高速处理的内存应用程序,Oracle有TimesTen DBMS。被收购的Sleepcat旗下的Berkeley DB数据库,可以给Oracle提供嵌入式应用市场的需求。这样也许可以确保Oracle在嵌入式数据库领域,保持自己在商业数据库领域的惯有地位。对于在商业市场上已经存在了9年的Sleepcat,它已经拥有了一批忠诚客户拥趸。而Oracle对它的收购,其潜在的本意也许是看中Sleepcat的这个客户基础。

从另一方面来看,归为Oracle门下,可以为Berkeley DB带来更主流用户市场的需求,并且可以通过Oracle的销售力量和客户支持组织为BerkeleyDB带来更多的产品影响力。但事实上,这次收购并不暗示着Oracle计划把TimesTen或Berkeley DB整合到Oracle 10g或Oracle Lite中。Berkeley DB并不使用SQL,也不支持PL/SQL。而Oracle的战略是为不同层次的嵌入式DBMS应用,提供合适的DBMS解决方案。Oracle旨在利用其已经宣布出去的不同的接口和工具,促进不同类型数据库之间数据的流通。“替他人做嫁衣裳”的事情,Oracle不会去做的。

同样在2006年2月份,Oracle对BerkeleyDB完成收购之后,MySQL并没有“束手待毙”。MySQL随后以很快的动作收购了基于Web应用技术的Netfrastructure公司,并且把Netfrastructure的创始人Jim Starkey聘为MySQL的高级软件架构师。Starkey被认为是关系型数据库的先锋,是InterBase数据库(InterBase被认为是第一款支持触发器、事件警告、数组、多版本的数据库)的创始人,他在嵌入式Firebird数据库项目中扮演着关键性角色。Jim Starkey的加入,也许可以帮助MySQL抵御来自Oracle的入侵。比较有趣的是,MySQL同时还雇佣了Starkey的妻子Ann Harrison做一些兼职性的工作。MySQL对Jim Starkey可谓是“负责到底”,解除了他的“后顾之忧”。

2006年9月份,随着MySQL 5.1.12的发布,MySQL去除掉了对BerkeleyDB存储引擎的支持。对此有分析人士认为这也许是与Oracle收购Sleepcat有关系,是对Oracle的一种变向的“反击”。有人猜测MySQL下一个要抛弃的也许会是InnoDB。但MySQL官方对此表示:MySQL不会抛弃InnoDB,而对于BerkeleyDB的放弃完全是出于技术原因。而实际上,MySQL与InnoDB的“合作契约”在2006年就到期了。MySQL抛弃InnoDB与否,已经无关紧要了。

发生在2006年初的这宗开源数据库收购案,对于数据库业界的而言,有人形容是一个有趣的2006年的开始。也许到2007年,还会有一些开源数据库被纳入Oracle的旗下。

不相伯仲

时常被收购阴影笼罩的MySQL在2006年年底又受了一次小小的“打击”。在2006年11月期《Linux Journal》杂志的“2006年度开源数据库编辑选择奖”评选中,号称“世界上最流行的开源数据库”MySQL却名落孙山,取而代之的却是“世界上最先进的开源数据库”PostgreSQL。

但在2006年7月份,MySQL公司及其数据库产品被Forrester调查研究公司提名为“开源领军人物”。这是唯一的一家公司及其产品,同时在Forrester的两份调查报告中被作为“领军人物”提名(这两份报告分别是《The Forrester Wave: Open Source Databases(2006年第二季度)》和《The Forrester Wave: Open Source Projects(2006年第二季度)》)。

抛开《Linux Journal》和Forrester的权威性不谈,摒弃各位编辑和分析人士的好恶不论,一旦谈论开源数据库领域的领军人物,MySQL和PostgreSQL总是不相上下。

2006年的6月份,PostgreSQL庆祝了自己的10岁生日。并在当月升级更新的Sun Solaris 10中,被全面支持——Sun在2005年11月份就最初宣布支持PostgreSQL,并且雇佣了PostgreSQL核心团队成员Josh Berkus,担任Sun数据库技术的PostgreSQL的领导人。之后在同年8月份,以PostgreSQL为基础的开源数据库EnterpriseDB同样获得Sun选择,以为Sun公司提供技术支持及相关的专业服务。

“阳光”照亮开源数据库?

无论是主流商业数据库巨头对开源数据库的觊觎,还是一些大型软件厂商对开源数据库的支持,都证明了开源数据库已经形成了一定的影响力。

目前的开源数据库市场为3亿美元,并且正在以大约8%的增长率持续快速的增长。按照这个速度,到2008年的市场份额大约为10亿美元。与开源数据库相关的需求和咨询在2005年增长了50%,对于开源数据库的推进有很大作用和影响。在2006年,开源数据库的关键性部署增长了大概20%。而在余下的2年中,更多的数据库厂商将会被吸引,以在自己的产品中应用或支持开源开源技术。

来看一下来自Gartner/IDC的一些分析和调查数据:
到2008年,将有70%以上的IT组织使用开源数据库。
到2008年,MySQL将会成为关键应用的重要选择。
被调查公司中的40%计划用开源数据库取代私有商业数据库管理系统。
被调查公司中的49%的已经在使用MySQL,17%计划使用MySQL。
同时,Gartner还把MySQL称作开源市场内最强大的“新生力量”——这个称号也许有些言过其实。

开源数据库和开源操作系统

同属于开源领域的开源数据库和开源操作系统,虽然都戴着“开源”这顶“时尚的帽子”,但它们之间存在着很大的不同点。尽管有许多的开源数据库被用户广泛地使用(例如MySQL),运行在开源操作系统上(例如Linux),但是对于开源数据库的开发,并不如开源操作系统那样先进和高级。在开源社区中,有数以万计的开发人员为开源操作系统(例如Linux)做贡献,贡献源代码。但是相比而言,在开源数据库方面,却显得“人丁”不够兴旺。开源操作系统所拥有的开源社区的技术支持和深厚背景,是与开源数据库最大的不同点。

对于开源数据库而言,也许要用上大概10年的时间,才能够达到满足企业级核心系统在商务智能数据库仓库方面的需求。诸如MySQL、PostgreSQL、EnterpriseSQL等的开源数据库,与现有的诸如Oracel、IBM、微软的主流商业数据库产品相比,在高可用性、企业级的应用、关键性应用的层次上还有一定的差别。

虽然开源数据库在2006年的关键性部署增长了约50%,但是其起点很低。开源数据库更多的被应用在小规模的项目中,例如Web应用和服务器应用。在Google、Yahoo!等公司里,虽然有MySQL的部署,但是很能发现MySQL被应用在关键性的“苛刻”需求的领域中。对于关键性事务的处理,企业和用户仍然会选择有完备功能和完全支持服务的商业数据库产品。开源数据库的支持服务在一定程度上也许可以略胜一筹,但是,如果开源数据库不断加入、改进、提升自己的产品性能,那它是否会成为那些主流商业数据库的“原始版”产品?请不要忘记,“你自己在进步的同时,敌人也在进步”。

Linux为运行开源数据库提供了一个可用平台,并且许多公司已经选择在Linux上运行开源数据库。但是,Linux环境并不是真正的企业级应用环境。在未来的3—4年里,Linux环境必须趋于成熟,以达到满足大型机性能和企业级用户的需求,即Linux在未来需要扮演如今Unix的角色。平台的成熟,才能保证开源数据库的成熟和关键性应用。虽然Unix的使用增长率正在减缓,在五年之内,Unix的市场份额会可能会被Linux和Windows所侵占和控制。但是距离Unix的葬礼还有一段时间,或许需要10—20年的时间吧。

被竞争掉还是被收购掉?

开源数据库在自我增长的同时,还要时刻提防类似Oracle、IBM、微软这些商业数据库巨头的“小动作”。

显而易见,Oracle一直对开源数据库领域的厂商虎视眈眈,并且已经有所斩获。IBM和微软对开源数据库厂商也有各自的收购“战略计划”和“军费预算”。这些厂商真实的收购目的,其实是想以此收购开源数据库的市场份额。微软和IBM是否会步Oracel的后尘,或者投资于其它风险开源数据库厂商,有待历史勘查。对于这些主流商业数据库厂商而言,开源数据库公司对目前全球140亿美元的DBMS市场份额(并正在以7%的增长率增长)的“窃取”,“讨厌”成分大于“威胁”。

开源数据库厂商还要面对来自这些主流厂商的竞争。事实上,这些巨头厂商都已经对自己的产品价格打了很低的折扣,并且还在适当的时候向用户提供免费的、集成了“缩小比例”的高级功能的数据库产品。另外,这些主流厂商在不增加任何成本的前提下,在自己的产品中增加和支持了开源数据库现在所拥有的技术。Oracle在花费3百万美元收购Innobase之后,在其基础之上发布了Oracel Database 10g Express的免费版本。而微软也发布了“缩水版”的SQL Server Express。

不要以为这些巨头厂商推出基于开源技术的数据库产品,就表示他们愿意采用开源社区的原则和“教义”。也不要指望他们会提供免费的企业版数据库软件。这些做法都只是暂时的,对于的这些巨头厂商而言,最容易奏效的方法,就是以收购自己的竞争对手来作为保护自己的市场份额的一种方法。难道你认为Sleepcat被收购之后,就会成为Oracel产品线上的一款开源数据库产品吗?被收购的公司一旦成为这些巨头公司中的“光荣一分子”之后,他们各自身上的“鲜亮”特性将会随之消失。

开源数据库的角色转换

开源数据库的影响力是值得肯定的,但是开源数据库产品终究是诞生于“开源人”之手。做为开源的狂热者,这些开源数据库的开发者在设计产品时始终是出于开发者的前提,而非专门针对产品用户的需求,这也就决定了开源数据库相对于大型商业数据库的在功能上的欠缺。主流开源数据库MySQL和PostgreSQL已经分别存在了20年和10年,而它们的主流用户却仍然定位在中下企业级用户。

开源数据库的“开源”特点为其带来的价格优势成就了开源数据库的应用和市场,但是也在一定程度上限制了其产品的商业化应用。虽然IBM把自己的Cloudscape贡献给开源社区,公司官方论调称是希望借助开源社区的开发者的人气和群策群意的技术优势,但是,这只是表明了IBM对待开源,对待开源数据库的一种态度,是IBM在开源行动中表现出来的一种姿态。Oracle在推广自己的收购战略的同时,几次三番的对开源数据库“示爱”,其目的或许是通过收购来限制与自己存在竞争关系的开源数据库在功能上完善和提高,特别是开源数据库的多数据处理能力。微软公司依靠SQL Server系列产品占据数据库市场的第三位,SQL Server起初的定位就是中小企业级用户,时隔五年,到2005年底微软推出SQL Server 2005,旨在进军高端企业市场。在开源的热潮中,微软此举明显表示其仍然要固守商业数据库市场。

开源数据库是赢得了一些大客户,但是分析人士指出:MySQL是在很长一段时间之内,通过很大的努力才争取到这些大客户的。


开源数据库厂商和产品如何在市场中转换自己的角色:是把开源角色转换成商业角色?是仍然持续自己的开源角色?是扮演开源与商业的双重角色?

开源数据库的商业角色的扮演只能依靠技术支持和服务,但是如果开源产品在完善自我功能以满足高端客户需求的同时,其技术支持和服务也相应提高了收费标准,这和用户直接购买功能完善的商业数据库还有什么区别?

至于开源角色的扮演,难道开源厂商想把自己的公司变成慈善机构吗?

商业与开源角色的混演,就要考虑到如何平衡二者的关系,如何应对来自商业和开源双方的压力。

开源数据库有潜在的市场和空间,但是开源数据库需要考虑以什么样的角色,选择什么样的策略才能在数据库市场站稳。谁最终能够站稳,站稳之后的高度是多少,空间又是多少,这些都是需要认真思考的。

该文章最后由 阿炯 于 2017-09-15 14:05:58 更新,目前是第 2 版。