程序员Hadoop

MySQL与主流分支版本简介

2018-05-30  本文已影响128人  博文视点

本文主要介绍MySQL 5.6和MySQL 5.7这两个Oracle公司开发的代表作品。为了让大家先对MySQL有一个基础的认识,我们先来看一看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的问世。

MySQL主流的分支版本

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

1 . 官方版本的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显示图

2 . 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,它的高扩展性和优秀的查询插入性能都是我们喜欢它的地方。

3 . MariaDB

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

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

目前大部分软件开发平台都基于Linux,很多互联网公司都把MySQL作为后端数据存储的数据库。如果把MySQL比喻成数据库界的一条巨龙,则本书涵盖的所有知识点就是这条巨龙的组成部分。

本书深入剖析MySQL数据库体系结构,实战演练备份恢复、主从复制,详解高可用集群架构的设计与实践过程,详细梳理优化思路,展现新版本的特性,并与真实生产案例相结合,通过核心原理到“王者”实战,全面覆盖MySQL数据库的知识点。

了解本书详情:京东当当亚马逊

本书目录结构

第1部分 倔强青铜篇

第1章 MySQL简介与主流分支版本

第2章 MySQL数据库的安装、启动和关闭

第3章 MySQL体系结构与存储引擎

第4章 数据库文件

第5章 表

第6章 索引

第7章 事务

第8章 锁

第2部分 秩序白银篇

第9章 备份恢复

第3部分 荣耀黄金篇

第10章 主从复制概述

第11章 复制原理及实战演练

第4部分 尊贵铂金篇

第12章 MHA

第13章 Keepalived+双主架构

第14章 PXC

第15章 ProxySQL

第5部分 永恒钻石篇

第16章 MySQL 5.7新特性

第17章 MySQL全面优化

第6部分 至尊星耀篇

第18章 Lepus之MySQL监控

第19章 MySQL版本升级

第7部分 最强王者篇

第20章 MySQL面试宝典

上一篇下一篇

猜你喜欢

热点阅读