据悉,Google正在启动舍弃MySQL转向MariaDB的计划。在XLDB会上,Google网站可靠度部门(SRE)资深系统工程师、Google内部MySQL数据库主管Jeremy Cole揭露了Google大规模淘汰MySQL的计划:淘汰内部数千台MySQL数据库,改换开源数据库MariaDB,部分数据库已改用最新MariaDB 10.0版。
Google在2013年初就开始与MariaDB基金会沟通转向MariaDB的计划,并希望转换过程中降低数据库迁移的风险。MariaDB是从MySQL独立出来的另一套衍生数据库(Folk版本),而且都来自相同的创始人Michael Widenius(代号Monty)和其他创始人在1994年开始开发MySQL,2008年将MySQL卖给了Sun,传为开源软体商业化的经典案例。
甲骨文让MySQL变成了封闭平台
MySQL更是逐渐扩大市场,推出受市场用户欢迎的5.5版,但随着甲骨文收购了Sun,MySQL二度易主,MySQL社群担心甲骨文封闭而纷纷出走,Michael Widenius因而推出了与MySQL相容的MariaDB,而MySQL原有高层则成立了SkySQL公司,与甲骨文主导的MySQL进行市场竞争,由此如今MySQL最被广泛使用的是2010年5.5版。
甲骨文让MySQL变成了封闭平台
对于Google来说,早在MySQL 4.0版时就开始采用,在开发出BigTable档案系统前,很多服务都使用MySQL。直到现在,Google仍有许多MySQL数据库,其版本横跨了从4.0版到较新的MySQL 5.1版。尽管如此,未进一步提及Google数据库迁徙的详情,但对MySQL的观点上看出,Google用MariaDB取代MySQL背后的考量。
MySQL的优点是简易查询的效率较高,通常能以小于500微秒时间回应,此外,MySQL也有一个相对稳定的数据储存层InnoDB,安装与操作都相对容易,同时也有许多网络学习资源可供利用。缺点是不擅长应付图形数据(Graph Data),而且大量执行ID generation功能时效率慢,特别是收购MySQL的甲骨文注重华丽的新功能,而忽视了MySQL的稳定性与整体效率。
另外,甲骨文主导下的MySQL适合用管理小于1.5TB的数据,或大量数据的后端备份系统。较少修正来自使用者、开发社群对新功能的需求,虽然MySQL是开放源码的数据库,但甲骨文让MySQL变成了封闭平台。
正如之前谈到,MariaDB虽然MySQL是同源所生的程序平台,但运作的理念却不同。MariaDB是由Michael Widenius领导,并囊括了许多最初开发MySQL的开发人员,创立目的就是为了摆脱甲骨文的控制。它采用了新的存储引擎,并兼容MySQL 5.5版本,目前的MariaDB 10.0版建立在MySQL 5.6版本的完全复制版本(Fork)之上。
MySQL转移至MariaDB将成趋势
随着甲骨文在2010主导了MySQL之后,有逐渐将源代码封闭的倾向。因此,开源码社群以MySQL为基础发展出了MariaDB的分支,希望维持开放源码的特性。随着MariaDB和MySQL到目前为止其数据格式可以互通,导致许多企业都有将数据库系统转换的计划,例如,维基百科早已将数据库从MySQL换成MariaDB。
MySQL转移至MariaDB将成趋势
Google舍弃MySQL而改用MariaDB上,业界专家分别从甲骨文MySQL和MariaDB的两个方面来谈。甲骨文MySQL并不支持外部的更新机制,甲骨文并未保证未来MySQL源代码的开放性,此外,MySQL对越新的程序代码不再提供测试环境,使得甲骨文之外的开发者无法在MySQL上撰写新的功能。
MariaDB报表说明(来源dzone.com)
而对于MariaDB平台,企业能够直接与开源码社群的开发者讨论,计划开发新功能并保证其开放源码的特性,最重要的是MariaDB提供了许多业务上的关键的功能,同时Google在其核心数据库管理系统上摆脱甲骨文的控制,MariaDB将成为未来数据库的主流。
MariaDB统计(来源dzone.com)
笔者也了解到,由于MariaDB与MySQL其数据格式可互通,所有与MySQL相关的工具、应用程序与连接器(Connector),都可以直接在MariaDB上使用,让MySQL的使用者可以轻易的转移至MariaDB。特别注意的是复杂的查询上,效率高过MySQL,而在Replication Setup上的速度,MariaDB也比MySQL高很多。