MySQL与主流分支版本简介

管理员账号

2018-06-04

本文主要介绍MySQL 5.6和MySQL 5.7这两个Oracle公司开发的代表作品。为了让大家先对MySQL有一个基础的认识,我们先来看一看MySQL的发展历程。

1.MySQL简介

1999年至2000年,Monty成立了MySQL AB这家公司。2000 年,MySQL公布了自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源的世界。 2001年至2007年是MySQL开源飞速发展的7年,尤其是在2005年10月发布了一个里程碑式的版本MySQL 5.0。

5.0版本中加入了存储过程、服务器端游标、触发器、视图、分布式事务(Xa transactions)、查询优化器的显著改进以及其他的一些特性。这也为MySQL 5.0之后的版本奠定了迈向高性能数据库的发展基础。2008年1月16号Sun收购了MySQL,花了10亿美元。之后不久,2009年4月20日Oracle收购了Sun公司。随之MySQL就变成了Oracle旗下的一个产品,之后就是我们所熟悉的MySQL 5.5、5.6、5.7这些版本了。

确切一点说,MySQL 5.5应该是Sun和Oracle之间的一个过渡版本,实际上MySQL 5.6才是Oracle开发的第一个版本,在MySQL 5.6的基础上,Oracle对MySQL进行了一次强悍的加工,才有了 MySQL 5.7的问世。

2.MySQL主流的分支版本

目前业界的MySQL主流分支版本有Oracle官方版本的MySQL、Percona Server、MariaDB。接下来看一下各个分支的特点。

官方版本的MySQL

目前官网最新的GA版就是MySQL 5.7,也是推荐大家在生产环境中使用的一个版本。它无论是在InnoDB存储引擎性能和功能上的提升,还是安全性上的加固、复制功能、sys schema库的增强等都改进得相当出色。目前还在开发的是MySQL 8.0,这个版本可能是MySQL数据库又一个开拓时代的开始。MySQL不像Oracle数据库的版本跳度那么大,Oracle是8i、9i、10g、11g、12c这样的一个版本迭代速度,而MySQL在大版本上一直没有什么变化。从MySQL 5.0、5.1、5.5、5.6直到目前最成熟的MySQL 5.7都基于5这个大版本,升级其小版本。所以这次研发的8.0版是一个新时代的开始,虽然MySQL 8.0在新特性上没有新元素的加入,但是它对MySQL的源代码进行了重构,最突出的一点就是对MySQL Optimizer优化器的改进,支持隐藏索引等功能。针对优化器的改进是在之前的版本中从来没有触碰过的。而且MySQL 8.0为了对优化器做更多的特性支持,还加入了性能直方图这个新的元素,让MySQL Server层和存储引擎层配合得更加紧密。MySQL 8.0之后我们就真的要和MyISAM这个存储引擎说再见了,想想这些改变就让人兴奋,就让我们一起期待着它的问世吧。

MySQL在5.1版本被Oracle收购之后,发展到今天有了突飞猛进的变化。官方版本的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(每秒的查询量),如图。

基准测试只读模式下的QPS显示图

在OLTP读写模式下,MySQL 5.7比MySQL 5.6快近2.5倍的速度,比MySQL 5.5快近3倍的速度,而且5.7有近60万的QPS,如图。

基准测试读写模式下的QPS显示图

Percona Server

Percona Server是MySQL重要的分支之一,它基于InnoDB存储引擎的基础上,提升了性能和易管理性,最后形成了增强版的XtraDB引擎,可以用来更好地发挥服务器硬件上的性能。所以Percona Server也可以称为增强的MySQL与开源的插件(plugin)的结合。由于官方版本的MySQL在一些特性的使用上有一定的局限性,需要收费。所以Percona Server就有了一定的市场占有比例,也比较受大家的欢迎。像一些常用的工具包xtrabackup、percona-toolkit等,在生产环境中是DBA的必备武器。还有像XtraDB-Cluster这种支持多点写入的强同步高可用集群架构,真正实现实时同步的过程,解决了MySQL主从复制之间经常出现并让人头疼的延迟问题。而且Percona还收购了TokuDB公司,TokuDB存储引擎非常优秀,淘宝网、阿里云上大量在使用这款存储引擎。它支持数据压缩,支持hot scheme modification,它的高扩展性和优秀的查询插入性能都是我们喜欢它的地方。

感兴趣可以去官网了解更详细的特点。

链接地址:https://www.percona.com/software/mysql-database/percona-tokudb。

MariaDB

Mariadb是由MySQL创始人Monty创建的,是一款高度兼容的MySQL产品,主要由开源社区维护,采用GPL授权许可。Oracle把MySQL收购之后,为避免MySQL在开源粒度上的下降,MariaDB由此而生。它不仅仅是MySQL的一个替代品,还创新与提高了MySQL原有的技术。既包含了Percona的XtraDB存储引擎,还包含TokuDB存储引擎、Spider水平分片存储引擎等多种存储引擎,并且还有一些复制功能上的新特性,比如基于表的并行复制、Multi-source Replication多源复制、Galera Cluster集群。还有比较有意思的一点就是MariaDB有一套Java的管理系统,可以通过投票机制来决定哪些特性和参数是我们需要的。

本文选自《MySQL王者晋级之路》

读者评论

相关博文

  • 社区使用反馈专区

    陈晓猛 2016-10-04

    尊敬的博文视点用户您好: 欢迎您访问本站,您在本站点访问过程中遇到任何问题,均可以在本页留言,我们会根据您的意见和建议,对网站进行不断的优化和改进,给您带来更好的访问体验! 同时,您被采纳的意见和建议,管理员也会赠送您相应的积分...

    陈晓猛 2016-10-04
    2118 376 2 5
  • 迎战“双12”!《Unity3D实战核心技术详解》独家预售开启!

    陈晓猛 2016-12-05

    时隔一周,让大家时刻挂念的《Unity3D实战核心技术详解》终于开放预售啦! 这本书不仅满足了很多年轻人的学习欲望,并且与实际开发相结合,能够解决工作中真实遇到的问题。预售期间优惠多多,实在不容错过! Unity 3D实战核心技术详解 ...

    陈晓猛 2016-12-05
    1802 34 0 1
  • 新书试读员征集

    陈晓猛 2016-12-01

    活动获奖名单公布 恭喜以下10位读者朋友获得本次试读员征集的名额,请私信 陈晓猛 将您的QQ号发给小编,以便加入读者VIP群,给您送出图书! 获奖名单 程续缘 悠悠的一杯茶 313150284@qq.com llaomao 落伍特青年 ...

    陈晓猛 2016-12-01
    642 12 0 0