一、自主搜索引擎Falcon蓄势待发
与自己的旗舰数据库产品具有相同名字的著名开源软件公司MySQL AB(www.mysql.com/),正在数据库存储引擎方面面临着逐渐获得更多的选择,因为它已经看到一个更强大的竞争对手正悄然向其逼近。
2005年,当著名的数据库巨人甲骨文收购了小小的芬兰数据库软件制造商Innobase后,曾经吸引了无数开源人士的关注,因为正是这家小公司在一直为开源数据库MySQL提供着InnobaseDB存储引擎。而由于MySQL在近年取得的迅速发展,已经逐渐开始对甲骨文产生了一定威胁,考虑到两者之间的竞争关系,人们没有理由不产生这样的疑问:开源公司MySQL是否能继续以令自己满意的条件来得到Innobase的授权呢?
尽管它还在努力去争取这一点,MySQL首席执行官Marten Mickos表示:甲骨文在InnoDB上做的非常不错,他们还是和以前一样修复漏洞和开发产品。但是,MySQL必须具有新的选择。2006年年底甲骨文开始销售自己的Linux,这一变化更是加速了MySQL寻求研发自主搜索引擎的步伐。
Mickos如此表示:对于那些可能不想使用InnoDB存储引擎的用户或者具有不同需求的用户,MySQL将通过新增的存储引擎插件来满足它们。
2006年7月25日,Solid Information Technology公司宣布,其专门为MySQL量身定做的Beta版SolidDB Storage Engin正式对外发布。目前,SolidDB的关系数据库产品已经被全球超过300万个关键任务系统所采用,SolidDB for MySQL开源数据库系统能够充分满足高吞吐量、关键任务级应用对系统性能和可扩展性的要求。
除此之外,MySQL公司自己的Falcon计划不久也将作为测试版发布。近日,MySQL又宣布新增了两家存储引擎合作伙伴:Nitro安全公司和Infobright公司。
就在几天前,MySQL表示将在最近发布Falcon存储引擎的Alpha测试版本(提供给开发人员的内部测试版本)。对此Mickos表示:这表明了开源软件系统具有自我治愈的能力,拿走一些东西,或者说有些东西有可能被拿走,开源社区和开源生态系统就会随之创造相应的其他候选者和替代者。
二、MySQL与开源社区亲密合作
Falcon代码的发布是MySQL向一个与以前不同的方向所迈出的一步。它证明了一点:MySQL并不会终止与自由/开源软件社区的亲密关系。2006年,MySQL与微软通过谈判达成合作伙伴关系,MySQL数据库将成为微软的Visual Studio业界合作伙伴之一。另外,MySQL开始推迟针对Debian发布企业产品的二进制版本。而在2005年,MySQL曾与SCO集团达成协议,MySQL将支持SCO的Unix操作系统的某些版本——要知道,SCO所发起的针对IBM的专利诉讼有可能对全球软件事业造成毁灭性的打击。MySQL的所有这些动作,曾经让人们开始怀疑MySQL对开源社区的态度是否在发生变化。
Mickos把与SCO的合作简化为只是市场和金钱的关系。他表示:“关于和SCO的合作,有一个简单的理由使我不能谈论细节:协议条款中规定我不能这样做。不过简单的来说,是SCO来找到我们,并且想支付给我们报酬来让我们支持它们的操作系统。我们认为,对最终用户来说,无论他们使用的是什么操作系统,他们都有权力使用最好的数据库产品,因此我们接受了这次合作。”
当Mickos被问及为什么在2004年放弃了对相同的Unix操作系统的支持的时候,他表示:“这是因为我们没有在市场中看到足够的需求。”Mickos进一步表示:“我们也谴责SCO所发起的法律诉讼,但是我们也相信那一事件中的法官有两个,一是法院,而是他们自己的消费者。我们一直是一个‘医生’的角色而非‘法官’。”
无疑,Mickos心中十分明白,他们所做的每一项决策都要经过仔细的考虑和审查,都要考虑到MySQL公司多年来在自由/开源软件领域所建立起来的声誉。Mickos表示:他最不想做的事情就是把这种已经建立起来的声誉毁掉。
MySQL推出自主搜索引擎是其高瞻远瞩的一种选择,Mickos表示:为此他们已经放弃了一些新的存储引擎方面的合作。
三、视用户接受程度决定何时支持GPL V3
最新版的通用公共授权GPL(General Public License) V3计划在2007年3月份发布,当被问及MySQL是否会对其支持的时候,Mickos表示;在即将发布的MySQL 5.0 和 MySQL 5.1中还将使用目前的GPL V2版本,暂时没有向GPL V3版本迁移的倾向,因为这样更能符合业界的要求。
从2006年开始,FSF(自由软件基金会,Free Software Foundation)开始着手GPL V3的草稿,但是新的授权协议遭到了大部分Linux内核开发人员的抵制,他们比较看好目前的GPL V2版本。
MySQL对GPL V3采取了观望态度,想要观察开源社区对即将到来的开源许可的接受的态度。Mickos 表示:“直到我们清晰的了解GPL V3相对GPL V2的接受程度,我们才会对GPLv2在我们的许可中的参考感到很舒服。”
不过Mickosis也对未来充满了美好愿景,他表示:“你可能也知道,我们一直在积极参与GPL V3的制定工作,从GPL V3在2006年1月被宣布起草开始就成为GPL V3委员会的一员,并为自由软件基金会提意见。我们目睹了巨大的改进并期望GPL V3流行”
新的一年已经悄然开始,越来越多的软件公司已经从自由/开源软件中得到了自己想要的名或利,它们将必须设计新的业务模型以应对来自专有软件厂商的挑战。Mickos显然更注重实效,而且比较擅长于和外界的合作。MySQL AB公司也因此成为目前使用最广泛的开源数据库——包括在微软的操作系统Windows上也是如此。显然,Mickos会想办法让MySQL坐稳开源数据库的头把交椅。
小结
很显然,MySQL的生命力和冲击力已经有所影响,但是,MySQL在面临着Oracle的觊觎、PostgreSQL的紧追等问题下,无论在产品技术还是市场策略上都需要自出自己的路。
07开源数据库技术趋势展望
07开源数据库技术趋势展望
开源数据库在2006年的应用开发中取得了新的进步,截至到2006年12月,据调查数据显示,在开发项目中使用的数据库软件品牌分布以及企业内部信息系统使用的数据库分布调查中,开源MySQL都位居第三,紧随位居前两位的Oracle和微软的SQL Server之后(如下图)。
图1:在开发项目中使用的数据库软件品牌分布调查结果图
图2:公司和企业内部使用的数据库软件品牌分布调查结果图
在2006年频频遭遇竞争性收购和收购威胁的开源数据库,在新的一年中其产品和技术或将独善其身或将推陈出新,我们将拭目以待。
纵然开源数据库被一些人形容为数据库领域的“小生境”,纵然面临着来自主流商业数据库厂商的竞争性收购,但开源数据库各自的“头衔”却都很有气势。MySQL号称“世界上最流行的开源数据库”,PostgreSQL号称“世界上最先进的开源数据库”,EnterpriseDB号称“真正的企业级开源数据库,并足以与Oracle相竞争”(EnterpriseDB Advanced Server 8.1已经发布可用),如此等等。
即使把开源数据库看作整个领域的小生境,其内部的“生态变化”也足以丰富,各开源数据库厂商或者被商业厂商收购(InnoDB和BerkeleyDB已经被Oracle收购),或者在问世不久被合作伙伴收购(MaxDB),或者自己的部分核心技术被竞争对手收购(MySQL)……无论是开源数据库领域的业界动态还是技术变革,都丝毫不比数据库的大生境所逊色。
完善自我的MySQL
在2006年遭遇最为“惨重”的当属MySQL。
MySQL开源数据库采用的是双重授权策略,对于不愿公开自己源代码的使用者,需要付费使用MySQL, 而对于开放源代码的使用者,可以基于GNU的公共许可协议GPL来使用。
MySQL数据库并没有属于自己的用于负责数据的物理存储和索引的存储引擎 ,它普遍使用别的开源数据库引擎做为自己的关键性存储引擎。MySQL曾经把InnoDB做为自己的事物型数据存储引擎,把BerkeleyDB做为自己的嵌入式事物型存储引擎。这两种开源数据库被Oracle收购之后(InnoDB在2005年10月份被收购,BerkeleyDB在2006年2月份被收购),MySQL在做了一些应急措施及得到一些“帮助”之后(2006年2月,MySQL雇佣了嵌入式开源数据库Firebird项目的关键人物Jim Starkey;2006年9月份,宣布去除掉对BerkeleyDB存储引擎的支持;2006年7月25日,专门为MySQL量身定做的Beta版SolidDB Storage Engin正式对外发布)正在加紧研发自己的存储引擎。
MySQL起初也没有自己的存储过程(Stored Procedure)语言,在当时这是对习惯于企业级数据库的程序员的最大限制。多语句SQL命令必须通过客户方代码来协调,这种情形是借助于相当健全的查询语言和赋予客户端锁定和解锁表的能力,这样才允许的多语句运行。 但在MySQL 5.0发布之后,MySQL宣称已经完全支持存储过程。
但是MySQL目前没有自己的存储引擎。MySQL的存储是以可插取的存储引擎存在的,它采用不同的存储引擎技术把数据存储在文件或者内存中。MySQL有多种存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。可以采用内存存储引擎存储临时数据,采用事物存储引擎来完成事物处理,等等。相比之下,其它的一些数据库系统(包括大多数商业选择)仅支持一种类型的数据存储。对于用户而言,这种选择不同的存储引擎来存储和检索数据的灵活性,是比较受欢迎的。然而,Oracle也正是看中了这一点,才对MySQL发难。
研发自己的存储引擎是MySQL在2007年亟需解决的任务。2006年年底,MySQL AB公司和NitroSecurity公司达成协议,双方联合研发一款基于NitroEDBTM高速关系数据库技术的MySQL数据库引擎。NitroSecurity技术使用独特的索引技术、数据管理方法和查询处理算法,该技术可以轻松处理大容量的数据库操作,而未来的MySQL数据库服务器版中将嵌入NitroSecurity的NirtroEDB数据库存储引擎,并且这种解决方案可以与旧版本的MySQL数据库的应用程序互相兼容。
而在2007年的开始,已经有消息传出针对批量Web服务器环境而设计的内部测试版新MySQL存储引擎已经发布,以用于细化MySQL的存储引擎的功能和性能。
2007年新的一年中,MySQL不仅要在存储引擎上做出努力,还要在磁盘存储、内存损耗、集群技术以及其他的企业级性能和功能上有自己的突破。另外,面对时下的开源环境,MySQL也应该仔细考虑自己的发行费用方式的转变、培训、关键性部署等非技术性问题。
仍需努力的PostgreSQL
2006年的6月份,PostgreSQL庆祝了自己的10岁生日(2006年12月,PostgreSQL 8.2正式版发布)。并且在2006年11月份被《Linux Journal》杂志的评为“2006年度开源数据库编辑选择奖”。
实际上,PostgreSQL一直在觊觎MySQL的“第一”位置,即使连从PostgreSQL派生出来的EnterpriseSQL也是“理直气壮”。PostgreSQL是一种复杂的对象——关系型数据库管理系统(ORDBMS),它的特性丰富、复杂,其中的一些特性甚至连商业数据库都不具备,其目标是要做超大型的面向对象关系型数据库系统。它支持SQL 89和SQL 92标准。
相对于MySQL,它支持事物处理,可以满足一些商业领域的数据操作需求。但是因为PostgreSQL使用的进程,与使用线程的MySQL相比,在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多,因此PostgreSQL的运行速度明显降低。对于一些需要复杂业务操作,而对性能要求不是过于苛刻,同时期望系统的设计富于扩展性的用户而言,可以采用PostgreSQL数据库。相比于MySQL在2006年所遭受的打击,PostgreSQL在过去的一年中除去一些Bug修复、产品发布和获得Sun公司支持外,可谓风平浪静。
但在新的2007年中,PostgreSQL如果想步MySQL的后尘仍然需要努力。首先,在应用平台上,PostgreSQL是运行在Cygwin模拟环境下,在Windows下运行没有MySQL稳定(MySQL在WinNT/Win2000/WinXP下是一个服务)。广大的Windows环境阵地,应该成为PostgreSQL不能失去的一块阵地。在经历了更为彻底的测试之后,PostgreSQL的事务支持能力在开源数据库中是值得称赞的。
而对于开源数据库产品在商业上的关键应用,对于事务处理的支持是必不可少的。但是这并不能保证PostgreSQL就可以完全满足商业性数据处理需求,因为PostgreSQL并不完全适应24/7运行,而要求人为地隔一段时间运行一次VACUUM。所以,在新的一年中这方面加强自己的完善性。对于无事务的MyISAM表处理,MySQL采用表锁定,一个长时间运行的查询很可能会长时间地阻碍对表的更新,而PostgreSQL不存在这样的问题。
客观而言,PostgreSQL的技术特性与商业应用是比较接近的。PostgreSQL率先支持存储过程,这就可以保证在不增加数据库服务器负担的前提下,对以一些严肃的商业逻辑进行封装,还可以利用数据库服务器本身的内在机制对存储过程的执行进行优化。
同时,存储过程的存在也避免了在网络上大量的原始的SQL语句的传输。PostgreSQL支持视图,对于视图权限的合理使用可以提供行级别的权限,这是MySQL的权限系统所无法实现的。
另外,它还支持触发器、约束、子查询、R-trees可扩展索引类型、UDF(用户定义函数)扩展。以PostgreSQL的这些技术性能,似乎没有理由去据MySQL之后,但是,MySQL的流行性和广泛性使得其拥有更多的用户群、更多的开发技术支持、更丰富的应用考验、着更好的商业支持、更完善的技术文档资料。拓展自己的应用范围,提高部署安装数量,是PostgreSQL在新的一段时间内的重中之重。
小结
MySQL与PostgreSQL基本上已经成为开源数据库的代表产品,其他的一些开源数据库与这二者相比,在总体技术性能、应用部署、下载量等方面都不太具有代表性。
但是,MySQL与PostgreSQL在向企业级商业数据库产品前进的战略和路线,可以做为其他开源数据库的前车之鉴。开源数据库与主流专有商业数据库的竞争关系是显而易见的,但是随着“开源模式”的趋于成熟和稳定,以及对传统专有商业软件业的影响甚至颠覆,数据库产品领域不再是“一家独大”。用户在以后的产品采购决策中,会更加青睐对开源数据库的选择。
但是,开源数据库产品在自身技术特性和功能特性的提高和完善上需要寻找一个平衡点,不要去过分地遵循专有商业数据库的产品路线图,而是要找出适合自身发展的技术、市场切入点。
盘点2006开源数据库:面临竞争和收购的选择
盘点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是在很长一段时间之内,通过很大的努力才争取到这些大客户的。
开源数据库厂商和产品如何在市场中转换自己的角色:是把开源角色转换成商业角色?是仍然持续自己的开源角色?是扮演开源与商业的双重角色?
开源数据库的商业角色的扮演只能依靠技术支持和服务,但是如果开源产品在完善自我功能以满足高端客户需求的同时,其技术支持和服务也相应提高了收费标准,这和用户直接购买功能完善的商业数据库还有什么区别?
至于开源角色的扮演,难道开源厂商想把自己的公司变成慈善机构吗?
商业与开源角色的混演,就要考虑到如何平衡二者的关系,如何应对来自商业和开源双方的压力。
开源数据库有潜在的市场和空间,但是开源数据库需要考虑以什么样的角色,选择什么样的策略才能在数据库市场站稳。谁最终能够站稳,站稳之后的高度是多少,空间又是多少,这些都是需要认真思考的。