甲骨文战略主导下 MySQL数据库将走向何方
【 导读】
2012年2月23日,甲骨文公司联合上海爱可生信息技术有限公司,于上海举办的MySQL创新技术大会上宣布MySQL 5.6企业版本的开发蓝图,并且MySQL官方网站提前一天公布停止更新MySQL 5.1版本的计划,以及会议现场嘉宾分享与问答交流的信息,越来越使我们意识到MySQL数据库产品,将会因甲骨文公司的市场战略需要,而重新走向另外一个MySQL用户不太乐意看见的方向。
(一) 信息梳理
(1). 甲骨文于2005年10月份收购InnoDB存储引擎开发商芬兰公司Innobase;
(2). SUN于2008年1月份收购MySQL AB公司;
(3). 甲骨文于2009年4月份收购SUN公司及其子公司的全部资产;
MySQL AB公司曾经希望能够收购InnoDB存储引擎开发商Innobase公司,并且一直有谈判接触,只是没有谈妥而已,MySQL AB公司与Innobase公司也是有签署战略合作协议。随着开源MySQL数据库产品对Oracle等商业数据库产品的冲击越来越大,尤其是InnoDB存储引擎完整优越地支持事务和细粒度的锁,能解决大数据量存储和高并发的访问请求,而MySQL支持的其他存储引擎并不能很好解决事务、细粒度锁等技术难题,使甲骨文公司感受到InnoDB存储引擎带来的威胁,只要控制MySQL数据库产品的InnoDB存储引擎,就等于掐断MySQL数据库产品的竞争力,从而达到控制开源MySQL数据库产品对Oracle数据库产品的冲击,这一招真是釜底抽薪,同时还可以在开源市场上提前布局和分一杯羹。
自从甲骨文公司收购Innobase公司之后,甲骨文公司主席Charles Phillips 曾明确表示会支持开源数据库产品的发展,但是InnoDB存储引擎的研发与升级一直无进展,后还准备变更Innobase公司先前与MySQL AB公司签署的合作协议,幸运的是合同还需要好几年到期。
SUN收购MySQL AB公司,当时几乎被所有人看好,甚至开源领域的人士认为开源产品的春天即将到来。对于我们MySQL开源数据库产品的使用者与爱好者而言,认为SUN公司拥有编程开发软件、操作系统、硬件等,可以完美地整合成一套健全的解决方案,同时可以使生产线上的产品发挥最大优势,对MySQL数据库产品的改进与性能提升、推广等带来极大的帮助。可惜世事难料,随后美国发生次贷危机,把全球都带入经济危机中,SUN对MySQL AB公司的整合也出现一些裂痕,同时SUN公司也出现财务危机和产品市场占有率下降严重,一场美好的梦就此破灭。
SUN公司高层把SUN出售给IBM最大的竞争对手之一甲骨文,通过收购SUN使甲骨文公司迅速实现几个目标:
(1). 硬件研发团队和研发技术,以及获得大批SUN硬件产品消费的客户资源;
(2). 大量的技术专利权;
(3). 企业解决方案与技术;
(4). 拥有程序员人数众多,使用范围广泛的编程语言开发工具JAVA;
(5). 操作系统Solaris,而且Oracle数据库产品跑在Solaris是性能最佳的,并且可以加速优化Oracle数据库的性能;
(6). 能帮助甲骨文更好地服务现有的企业客户,并且能给出一整套的解决方案资源;
(7). 可以完全控制开源MySQL数据库产品的研发速度与发展势头,减少对其商业Oracle数据库产品的冲击,尤其是在中国等新型市场;
小道消息得知甲骨文可能要收购SUN的时候,MySQL圈及技术圈就开始担心其未来的命运走势,不得不感谢欧盟对MySQL数据库产品的支持,以及MySQL AB公司创始人、前雇员和开源社区贡献者,纷纷要求甲骨文公司作出承诺,才批准甲骨文收购SUN,反观我们国内的技术人却什么也做不了,我们的国家好像跟此事情无关一样也是啥也不去做,顿时感受到作为某国公民的无奈。
各大新闻媒体、电视和网站报道,甲骨文公司正式宣布74亿美元收购SUN的消息,MySQL数据库使用者与技术圈内的朋友,分析SUN收购MySQL AB公司1年多点,紧接着甲骨文又收购SUN(备注:虽然次贷危机爆发,也不至于SUN这样大手笔10亿美元收购MySQL AB公司之后,以及出现大的财务危机),总觉得SUN当初收购MySQL AB公司是甲骨文背后支持与指使的行为。
(二) MySQL 数据库产品原本发展方向
众所诸知MySQL数据库产品之所发展迅猛,主要原因是:
(1). MySQL AB公司对MySQL数据库采用开放源码的策略;
(2). 允许遵守GPL协议前提下,可免费使用MySQL数据库产品;
(3). 第三方公司可以开发自己的数据存储引擎,并且挂载到MySQL中,带动一批第三软件开发公司的成长;
(4). 全世界的技术爱好者,都可以向MySQL AB公司提出合理的开发需求,并且参与MySQL数据库产品的研发过程;
(5). MySQL数据库产品非常容易让技术工作者上手,并且能满足互联网企业的业务需求;
(6). MySQL数据库产品的轻型、稳定、高效,并且能很好地运行在硬件条件交差的PC Server上,这四个热点解决了互联网企业的困境;
分析完上述促使MySQL数据库能获得企业和技术人员青睐的因素,随着互联网行业发展、企业业务发展与数据量的增长,以及IT技术的革新,硬件处理能力的高速发展,企业业务的复杂度增加和堆数据处理速度的要求等综合因数,会使我们发现MySQL数据库的处理能力越来越捉襟见肘,无法充分利用PC Server的硬件资源,为此MySQL数据库的实现技术与算法必须进行革新,尤其底层的实现代码必须考虑进行优化与重写,为此MySQL技术研发团队原本应该要做的事情,大致罗列如下:
(1). 修复MySQL积累的BUG与缺陷;
(2). 继续修改MySQL底层源码,正式支持SMP架构;
(3). 修改查询优化器的算法;
(4). 修改MySQL在线DDL操作实现的算法;
(5). 增强MySQL数据库的JOIN连接操作的算法支持,比如增加HASH算法、排序合并算法;
(6). 增强MySQL复制的数据安全性与恢复线程并发的支持;
(7). 增加MySQL对多主复制的支持;
(8). 修改MySQL Cluster的NDB存储引擎,更好地实现Cluster的业务模型与提高NDB存储引擎的性能;
(9). 开发新的存储引擎替代InnoDB存储引擎,或基于MyISAM存储引擎基础上开发一个新的类似InnoDB的存储引擎,以摆脱甲骨文公司的制约;
(10). ……………………..
MySQL技术研发团队也确实做了很多事情,为此MySQL AB公司把MySQL数据库的研发,分成几个分支版本进行发展:
(1). MySQL 6.0:主推NDB存储引擎,提高分布式数据库的性能与功能改进;
(2). MySQL 5.1: 基于MySQL 5.0的基础之上,继续完善MySQL数据库的功能,以及改善MySQL数据库对SMP架构的支持特性等;
(3). MySQL 5.5:重新改写MySQL底层源码,以适应新的硬件环境,处理高并发大规模数据容量且业务场景负责的问题,以及支持新研发的多种存储引擎;
非常遗憾的是连续被并购与资源整合,导致技术研发团队的开发任务进度中断和新存储引擎的研发项目夭折,以及MySQL AB公司技术团队研发人才流失严重,尤其公司创始人与管理层人员的出走,也制约研发项目的进展与质量保证。
(三) 甲骨文公司战略主导下的MySQL 数据库产品方向
通过MySQL AB公司官方网站的版本发布与BUG修复信息,我们大家可以发现MySQL AB公司被SUN收购,此后SUN又被甲骨文收购的这2年时间里,MySQL数据库研发速度是非常缓慢的,但是第三方公司对MySQL源码改进与支持,尤其像Percona、MariaDB等公司推出改进版本的MySQL数据库产品,并且大量技术人员都开始测试与考虑使用这些第三方公司发布的功能完善与性能优越的MySQL,使甲骨文公司开始着急,为此仓促地推出MySQL 5.5 GA版本。甲骨文MySQL 5.5 GA版本发布会上海现场,本人曾经向时任MySQL AB公司的CTO提问,关于甲骨文如何看待MySQL的发展与资源投入,他无奈地说:他们是和尚,只管念经不问俗事,发布会之后私底下也有一番沟通与探讨,明显感觉到甲骨文公司高层也非常困惑,大致有以下几点:
(1). 甲骨文公司并不想投入很多资源与精力,重点发展MySQL数据库产品;
(2). 有技术社区的支持,MySQL数据库产品的研发能力与速度会使MySQL数据库产品越来越优秀;
(3). MySQL数据库产品对甲骨文的Oracle数据库市场冲击越来越大;
(4). 甲骨文公司收购SUN之后,大量原MySQL AB公司的雇员离职,创办自己的公司,并从事MySQL数据库产品的技术研发与服务提供;
(5). 甲骨文公司不发展MySQL数据库产品,但是其他第三方公司研发的MySQL数据库产品越来越好,将不久取代MySQL AB公司在开源领域的地位;
(6). 甲骨文公司收购SUN时,曾经对欧盟、MySQL AB公司、开源社区等作出过承诺,也不能完全失信于人,否则可能给自己开拓市场带来负面影响;
自从甲骨文决定继续投入资源发展MySQL数据库产品,可以逐渐清晰甲骨文公司对MySQL数据库产品的重新市场定位与战略规划。MySQL AB公司长期以来,都不重视对Windows平台的支持,我们大家可以发现MySQL 5.5之前的所有版本,同一版本号的MySQL产品运行在Windows平台和Linux平台之间一对比,会发现Windows平台的性能远远低于其他平台,Windows平台上MySQL数据库产品BUG众多,MySQL数据库修复的BUG List中几乎很少提到针对Windows平台的修复信息。
MySQL数据库主要是运行在Linux或类Linux操作系统(注:少量运行在Solaris系统上)之上,而大量企业的Oracle数据库是运行在AIX、Solaris、Linux系统之上,若是把Oracle数据库支持的数据服务,迁移到MySQL数据库平台上,那么可以节约大量资金,大致如下:
(1). Oracle数据库的License费用可以全免或大规模降低(注:MySQL数据库是社区版本免费,企业版本收费);
(2). Oracle数据库产品多数搭配存储设备与小鸡一起使用,而MySQL数据库主要运行在廉价的PC Server上,可以为企业节约大量资金投入;
(3). Oracle数据库运行在AIX、Solaris(注:分社区与企业,社区要差很多)收费操作系统上,且搭配存储设备使用,主要是能更好发挥Oracle数据库的性能,使用MySQL之后也可以减少部分费用(注:多数跑在开源的Linux系统之上);
(4). Oracle数据库产品支持的多数业务,可以使用MySQL搭配InnoDB存储引擎的模式替换;
(5). Oracle数据库产品的License费用、运行的设备与系统等,不利于企业花费较少费用就能处理互联网行业大数据量的要求,也即不得不花费更多的钱购买存储设备与购买License费用,否则对数据进行拆分存储无法推荐,然后MySQL却有天然的优势;
(6). MySQL数据库产品对开发人员要求不高,学习成本非常低,且MySQL数据库技术使用人群越来越多,数据库解决方案也越来越成熟;
上述6点,以及MySQL数据库产品对Windows平台支持不重视,导致MySQL数据库产品主要是取代Oracle数据库产品的市场份额,为此甲骨文公司决定投入大量资源改进MySQL数据库对Windows平台的支持,同时大力发展MySQL数据库维护的图形化工具,以帮助使用Windows平台的企业和技术人员,放弃SQL Server数据库产品之后,降低学习成本,从而更加符合和吸引Windows平台的企业和技术人员。甲骨文公司投入大量资源之后,MySQL数据库产品修复大量Windosw平台上的BUG,大幅提升了Windows平台上运行的性能(注:确实可以用提升100倍以上形容),通过这一系列的投入与市场宣传推广,甲骨文公司可以达到不失信于人,继续发展与巩固MySQL数据库产品的地位,同时把MySQL数据库产品占领市场的战场正式引向竞争对手之一—微软的SQL Server数据库产品,部分减轻MySQL数据库产品对Oracle数据库的冲击,属于一举多得的战略行为。
(四) 担忧
1) 技术研发人员分散
MySQL数据库属于甲骨文资产之后,MySQL AB创始人接二连三出走,以及产品研发团队出现大批技术人员的离职,多数离职之后创办自己的公司,欣慰的是继续投入开源MySQL数据库领域,只是他们有些人对MySQL进行裁剪后独立发展,例如: SkySQL等,有些是研发新的存储引擎,例如Percona、MariaDB….这样会导致MySQL开源领域的研发技术实力分散,不利于促进MySQL数据库的功能完善与技术革新,毕竟早期开发的MySQL版本主要是跑在价格低廉,性能一般的PC Server上,但是近几年PC Server 的硬件处理能力得到飞速发展,甚至现在的PC Server比抵挡存储设备的性能优越。MySQL数据库产品必须加快速度,改写源码实现对PC Server的SMP架构支持,对SSD硬盘等新型技术的支持,现阶段SSD硬盘越来越接近生产环境的要求,性价比也越来越有竞争优势,为此非常担心MySQL数据库产品错过美好的发展时机,而无法完善自己的产品功能、快速提升处理能力、提高产品的稳定性等。
2) 甲骨文公司的资源投入
相信随着PC Server处理能力的提高和SSD硬盘等硬件的快速发展,MySQL数据库产品的功能完善、性能和稳定性提高,对Oracle数据库产品的冲击会加剧,并且可能渗透到对数据库要求更高的领域,恰恰又是Oracle数据库产品的主要市场与收入来源。虽然MySQL数据库产品得到发展,甲骨文公司从MySQL数据库产品上获得的收益未必会大幅增加,甚至继续出现投入产出负比例的情况,甲骨文公司除继续保持MySQL数据库企业版本闭源,与不向社区提供源码贡献的策略之外,还可能减少投入与限制MySQL数据库社区版本的发展,本身企业版本不向社区版本贡献源码的做法,时间越久越可能出现社区版本落后于企业版本的情况。
甲骨文公司寄希望于MySQL数据库产品,能够抢占微软SQL Server数据库产品的市场份额,然后多数中小企业都是使用盗版的Windows操作系统与盗版的SQL Server数据库产品,可能只有部分企业才会考虑把SQL Server数据库的数据迁移到MySQL数据库中。另外,甲骨文公司与合作伙伴(例如:国内的爱可生)想把MySQL数据库产品打入传统的生产制造企业市场,2-3年内可能非常难取得突破性进展,大致的原因:
(1). 中小型生产制造型企业本身就可能使用盗版的SQL Server数据库产品;
(2). 中小型生产制造企业没有维护MySQL数据库的技术人员,也不太会为此投入更多资金;
(3). 生产制造企业对系统稳定性的要求非常高,比互联网行业更高;
(4). 生产制造企业投入到软件系统的资金与费用是可控与有付费对象的,没有必要为了不一定省钱的技术革新行为而换数据库产品
(5). 全球的经济不景气,生产制造企业受伤害最大,更没有精力投入到系统的数据库产品更换一事上;
(6). 生产制造企业的系统,一般都是采购第三方公司的产品,且稳定运行之后,很少出现大的改动或更新,为此不可能为了一点点利益而冒风险更换数据库产品;
3) MySQL数据库产品成为甲骨文公司攻击SQL Server数据库的工具
前面已经阐述过,甲骨文公司为何要发展MySQL数据库对Windows系统的支持,就是希望利用MySQL数据库产品抢占SQL Server数据库的市场份额,为此可能出现甲骨文大力度优先发展Windows平台的MySQL数据库产品和图形化维护管理工具性软件,而忽略其他平台的MySQL数据库产品技术革新与发展,从而错过美好的发展时机。MySQL数据库产品是基于GPL协议的,但是可能存在一些技术专利侵犯到其他数据库厂商的利益,包过微软公司,为此可能导致微软公司向甲骨文公司提出专利诉讼,从而也会间接限制MySQL数据库产品发展。
4) MySQL数据库变得越来越臃肿
甲骨文要想让MySQL数据库产品抢占SQL Server数据库产品的市场份额,必然会为MySQL数据库产品添加非常多,类似于SQL Server数据库产品的功能,再加入一些其他热门技术产品方向的支持,例如对NoSQL、MemCached等支持,从MySQL 5.6版本公开的开发任务列表也可以佐证,这样必然会使MySQL数据库产品越来越臃肿,从而失去MySQL数据库产品的三个特点: 轻、快、稳,也即数据库功能不复杂且满足多数业务需求,数据和业务处理的性能非常优越,数据库服务器运行稳定,这三个特点也是MySQL数据库获得互联网企业和技术人员青睐的重要原因之一。
【 结束语】
撰写此文目的是希望能引起更多技术人员及企业,对MySQL数据库产品发展的关注,也相信MySQL数据库产品应用的前景会越来越大,但是我们要监督甲骨文公司对MySQL数据库研发资源的投入与产品发展方向的关注。对于很多MySQL使用者最关心的问题,甲骨文是否会对MySQL数据库社区版本也进行闭源,也即可能是关闭MySQL社区的担忧,这是无需担忧的事情,MySQL数据库是基于GPL协议的,所以甲骨文公司无法单方面作出此决定。考虑到甲骨文公司因市场战略需要,而导致MySQL产品向我们大家不希望的方向发展,同时多关注第三研发公司的MySQL版本,尤其推荐MariaDB、Percona。
原创文章,转载请注明: 文章地址 甲骨文战略主导下 MySQL数据库将走向何方