来自:It168
年终岁末,又到盘点之时,我们就一起来看一下在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是在很长一段时间之内,通过很大的努力才争取到这些大客户的。
开源数据库厂商和产品如何在市场中转换自己的角色:是把开源角色转换成商业角色?是仍然持续自己的开源角色?是扮演开源与商业的双重角色?
开源数据库的商业角色的扮演只能依靠技术支持和服务,但是如果开源产品在完善自我功能以满足高端客户需求的同时,其技术支持和服务也相应提高了收费标准,这和用户直接购买功能完善的商业数据库还有什么区别?
至于开源角色的扮演,难道开源厂商想把自己的公司变成慈善机构吗?
商业与开源角色的混演,就要考虑到如何平衡二者的关系,如何应对来自商业和开源双方的压力。
开源数据库有潜在的市场和空间,但是开源数据库需要考虑以什么样的角色,选择什么样的策略才能在数据库市场站稳。谁最终能够站稳,站稳之后的高度是多少,空间又是多少,这些都是需要认真思考的。