MySQL與主流分支版本簡介

本文主要介紹MySQL 5.6和MySQL 5.7這兩個Oracle公司開發的代表作品。為了讓大家先對MySQL有一個基礎的認識,我們先來看一看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(每秒的查詢量),如圖。

MySQL與主流分支版本簡介

基準測試只讀模式下的QPS顯示圖

在OLTP讀寫模式下,MySQL 5.7比MySQL 5.6快近2.5倍的速度,比MySQL 5.5快近3倍的速度,而且5.7有近60萬的QPS,如圖。

MySQL與主流分支版本簡介

基準測試讀寫模式下的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王者晉級之路》一書。

MySQL與主流分支版本簡介

目前大部分軟件開發平臺都基於Linux,很多互聯網公司都把MySQL作為後端數據存儲的數據庫。如果把MySQL比喻成數據庫界的一條巨龍,則本書涵蓋的所有知識點就是這條巨龍的組成部分。

本書深入剖析MySQL數據庫體系結構,實戰演練備份恢復、主從複製,詳解高可用集群架構的設計與實踐過程,詳細梳理優化思路,展現新版本的特性,並與真實生產案例相結合,通過核心原理到“王者”實戰,全面覆蓋MySQL數據庫的知識點。

瞭解本書詳情:https://item.jd.com/12331872.html


本書目錄結構

第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面試寶典


分享到:


相關文章: