共同回顾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公司提供技术支持及相关的专业服务。
“阳光”照亮开源数据库?
无论是主流商业数据库巨头对开源数据库的觊觎,还是一些大型软件厂商对开源数据库的支持,都证明了开源数据库已经形成了一定的影响力。