目前业界的MySQL主流分支版本有Oracle官方版本的MySQL、Percona Server、MariaDB。接下来看一下各个分支的特点。
目前生产环境中主流的版本是MySQL 5.7,无论是在InnoDB存储引擎性能和功能上的提升还是安全性上的加固、复制功能、sys schema库的增强等都改进得相当出色。Oracle是8i、9i、10g、11g、12c这样的一个版本迭代速度;而MySQL从5.0、5.1、5.5、5.6直到目前最成熟的5.7都基于5这个大版本,升级其小版本。
针对不同的用户,MySQL分为两个版本:
让我们来看一下MySQL 5.5、5.6、5.7的性能对比图,这样可以更加直观地观察到这些年的发展变化。
在OLTP只读模式下,MySQL 5.7比MySQL 5.6快近3倍的速度,MySQL 5.6比MySQL 5.5快近1.5倍的速度,而且5.7有将近100万的QPS(每秒的查询量),如图1-1所示。
图1-1
在OLTP读写模式下,MySQL 5.7比MySQL 5.6快近2.5倍的速度,比MySQL 5.5快近3倍的速度,而且5.7有近60万的QPS,如图1-2所示。
图1-2
Percona Server是MySQL重要的分支之一,由领先的MySQL咨询公司Percona发布。它基于InnoDB存储引擎的基础上提升了性能和易管理性,最后形成了增强版的XtraDB引擎,可以用来更好地发挥服务器硬件上的性能。所以,Percona Server也可以称为增强的MySQL与开源的插件(plugin)的结合。Percona团队的最终声明是“Percona Server是由Oracle发布的最接近官方MySQL Enterprise发行版的版本”。Percona不仅提供了高性能XtraDB引擎,还提供了在生产环境中的DBA必备武器,诸如xtrabackup、percona-toolkit等。更重要的是还提供Percona XtraDB-Cluster这种支持多点写入的强同步高可用集群架构,真正实现数据一致性。Percona Server自己管理代码,不接受外部开发人员的贡献,以这种方式确保他们对产品中所包含功能的控制。
MariaDB是由MySQL创始人Monty创建的,主要由开源社区维护,采用GPL授权许可。甲骨文公司收购了MySQL后有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB直接利用来自Percona的XtraDB引擎,由于它们使用的是完全相同的引擎,因此每次使用存储引擎时没有显著的差别。