继维基百科后 Google也从MySQL迁移到MariaDB数据库,由于不满MySQL被Oracle收购后的日渐封闭与缓慢的更新,众多Linux发行版逐渐抛弃了这个人气开源数据库,而转向了MariaDB。为了迁移Google上万的MySQL实例,Google正在致力于对MariaDB的升级和修补。

尽管被Oracle捕获后,MySQL上的争议就从未停止;但时至今日,MySQL仍是最具人气的开源数据库。简单、免费、扩展性、相对成熟等一直都是MySQL的吸引所在,然而随着自身脚步的放缓、各个竞争对手的追赶, 这些杀手级特性已不在有吸力(甚至沦为弱势)。虽然PostgreSQL一直被当作MySQL的直接竞争对手,然而真正给予其致命一击的似乎更像是MariaDB,这个由MySQL旧部所开发的产品。

MySQL在各大Linux发行版中的失势

由于不满MySQL被Oracle收购后的日渐封闭与缓慢的更新,众多Linux发行版逐渐抛弃了这个人气开源数据库,而转向了MariaDB,其中包括:

·Fedora Project:2013年元月,Fedora Project开始征集用户使用MariaDB的意向。而在夏季的 Fedora 19 中,Fedora Project已经换用 MariaDB成为依赖软件的默认选择。

·Slackware Linux:2013年3月23日,最古老的Linux发行版Slackware Linux也宣布使用MariaDB替代MySQL,因为MariaDB社区更有活力也更愿意和开源社区合作。

·Arch Linux:2013年3月25日,Arch Linux发出公告使用MariaDB代替MySQL,并于1个月内完成转换,由于多种原因,更新需手动执行。

·Red Hat:2013年6月,Red Hat宣布企业版发行版RHEL 7将用MariaDB替代MySQL。而在今年早些时候,Red Hat的社区发行版 Fedora已宣布从MySQL 切换到MariaDB。

以上是一些不完全的统计(比如还有 openSUSE等等),同时我们也相信,随着MariaDB得到更多的认可,类似的更替将出现在更多的Linux发行版中。

MySQL在重量级公司中的失势

·Apple:在2011年Sun被Oracle收购不久后,Apple就抛弃了MySQL。当然,他们选择的是PostgreSQL,这里不得不佩服一下Apple高层的远见。

·Wikipedia:在2012年底,Wikipedia曾公布了一个测试:英文维基的一个从(slave)数据库从MySQL5.1 + Facebook补丁集迁移到了MariaDB 5.5.28。通过全面测试发现,MariaDB的查询效率提升了3%-15%,平均提升了8%,期间并没有任何异常发生;以qp为单位,吞吐量提升了2%-10%。而时隔将近半年,Wikipedia已正式完成迁移。

互联网巨头Google的倒戈

作为最具人气开源数据库,MySQL绝非浪得虚名——除了Apple之外,Google、Facebook、Twitter也大量使用了MySQL,纷纷发布了自己的MySQL分支/补丁集,并为不少公司所采用。然而据国外媒体Theregister了解到,搜索巨头谷歌正在致力于MySQL到MariaDB的迁移,远离这个Oracle支持下的开源数据库:

消息来自11日斯坦福的Extremely Large Databases会议上,在Google指派了一个工程师去MariaDB基金会的一星期后。虽然消息并非Google官方发布,但是却是基于Google高级系统工程师 Jeremy Cole对MySQL生态系统现状的展示。

据悉,为了让MariaDB更有效,Google正在致力于对它的升级和修补——用以迁移Google上万的MySQL实例。Cole说道: 当下主要运行的MySQL 5.1版本已经不能匹配公司的脚步,因此我们转移到了MariaDB 10.1。

根据SkySQL (MariaDB合并后的公司名,大部分员工由MySQL旧部组成,点击查看详情)Patrik Sallner还透露,在年初Google已经开始与MariaDB基金会达成协作:

他们将先前许多运行在MySQL上的数据库迁移至了MariaDB,我们已经与他们达成合作来致力特性的开发,帮助完成这项迁移。对于我们来说,这是个非常好的借鉴。 Cole还透露,迁移将涉及到上万台的MySQL服务器,当下两个公司正在致力MariaDB可靠性及特性的研发。

同时,Google会将所有MySQL服务器转换成MariaDB。不管Oracle动机与否,通过这项举措,Google将完全消除对其技术的依赖。自MySQL 4.0版本以来,这个开源数据库(经大量修改)就在Google大量使用,最近使用的版本是5.1。

据Cole了解到,MariaDB 10.0大致相当于MySQL 5.6本本,因此工作量并不是很大。在被问到为什么会选择MariaDB作为MySQL替代,Cole如此解释: 在我看来,除下个别特性及实现方法,两个数据库有着太多相同的特性。但是在理念上,它们却存在着众多的不同。我很希望看到MySQL能有一个单独的社区,然而在Oracle的统治下显然并不可能,而MariaDB的未来则存在太多的可能。 Google大范围的MariaDB可能会从Chocolate Factory尝试开始,用以减少开发者对MySQL的依赖,同样也是对Oracle开源数据库生态系统影响力的削弱。

写在最后

基于Google在开发者心目中的地位,这一举措对MySQL的影响可想而知。虽然我们无法理解Oracle当初间接收购MySQL的动机所在,但是却可以断定当下的局面绝对不是这个数据库巨头想看到的。在未来,MySQL的地位可能会受到更多数据库管理系统的威胁,然而当下给予其“致命一击”的显然当属MariaDB!

MariaDB简介

MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发的免费开源的数据库服务器。

特点: 与 MySQL 相比较,MariaDB 更强的地方在于:

  • Maria 存储引擎
  • PBXT 存储引擎
  • XtraDB 存储引擎
  • FederatedX 存储引擎
  • 更快的复制查询处理
  • 线程池
  • 更少的警告和bug
  • 运行速度更快
  • 更多的 Extensions (More index parts, new startup options etc)
  • 更好的功能测试
  • 数据表消除
  • 慢查询日志的扩展统计
  • 支持对 Unicode 的排序