經常遇見一些開發甚至DBA咨詢:請問該選擇哪個版本的MySQL呢?各版本之間是否可以通用?阿裏雲、騰訊雲那麼多種版本的MySQL數據庫產品,MySQ版、MariaDB版、兼容MySQL的分布式數據庫,究竟選擇哪個呢?
現在互聯網公司使用MySQL數據庫,無非就兩種:規模大點的IDC托管服務器自助維護數據庫,另外就是選擇上雲。不管哪種模式都逃不開上面說的這個問題,特別是對於不太熟悉MySQL的開發人員,這更讓人崩潰了!!
先說結論吧:(1)如果是自己搭建維護,建議使用MySQL官方分支 MySQL Community Server,推薦版本MySQL 5.7.30下載地址:https://dev.mysql.com/downloads/mysql/
說明:最新的8.0雖然已經迭代到了8.0.20版本,也有很多牛逼的特性,但是業內仍未大規模應用,穩定性有待驗證,不過非核心業務可以逐步嘗鮮使用了。另外對於Percona和MariaDB的MySQL分支,業內使用率一般,且官方新版本的功能已大力完善,這兩者也逐漸失去了優勢。
(2)如果是阿裏雲和騰訊雲,建議選擇雲數據庫 MySQL 5.7版
說明:選擇這個版本主要考慮穩定性,另外就是考慮業務規模大了或者混合雲情況下的版本統一,簡化維護成本
注意:上面的版本選擇基於普通的OLTP應用場景,如果你的業務數據量特別大或者複雜的統計分析類需求,則不太合適,可能要結合一些分布式數據庫、列存數據庫配合解決需求,不管自維護還是上雲,不能依賴一種數據庫去解決所有的問題。要不阿裏雲、騰訊雲為啥去發布十幾種數據庫呢!
MySQL 的主流分支目前業界的MySQL主流分支版本有Oracle官方版本的MySQL、Percona Server、MariaDB。
1 . 官方版本的MySQL目前官網最新的GA版就是MySQL 8.0.20,這個版本可能是MySQL數據庫又一個]時代的開始,迄今為止,MySQL 8.0無論在功能還是性能(整體上),都是目前最好的MySQL版本,但是為了支持大量的新功能特性,這個版本調整的太大了,穩定性、可靠性還需要一定周期才能保證。8.0的最新特性這裏不再列出,感興趣的可以找找。目前使用官方版求穩定仍然建議5.7系列,如果想嘗鮮直接上車8.0.
另外從長期來看,官方版本的MySQL,目前在Oracle公司裏有實力雄厚的開發團隊支持,產品迭代速度穩定,基本是每三個月發布一個小版本,另外依賴早期Oracle數據庫優秀的產品、開發經驗,官方MySQL前景看好。
官網:https://www.mysql.com/
2 . Percona ServerPercona Server是MySQL重要的分支之一,是由原MySQL性能測試團隊Peter發起成立。它基於官方版本優化進行了性能提升以及管理增強,並集成了TokuDB、審計、PAM、線程池、審計等功能,所以Percona Server也可以稱為增強的MySQL與開源的插件的結合。由於官方版本的MySQL在一些特性的使用上有一定的局限性,需要收費。所以Percona Server就有了一定的市場占有比例,也比較受大家的歡迎。像一些常用的工具包xtrabackup、percona-toolkit等,在生產環境中是DBA的必備武器。而且Percona還收購了TokuDB公司,TokuDB存儲引擎支持數據壓縮,滿足了不少特定場景下需求。
官網:https://www.percona.com
3 . MariaDBMariadb是由MySQL創始人Monty創建的,是一款高度兼容的MySQL產品,主要由開源社區維護,采用GPL授權許可。在當年Oracle把MySQL收購之後,為避免MySQL在開源社區力度上的下降比如擔憂Oracle將MySQL給閉源了,MariaDB由此而生。它不僅僅是MySQL的一個替代品,還創新與提高了MySQL原有的技術。比如Server層的改進,引入hash join官方8.0也支持了,還最早引入了線程池、審計、PAM認證、多源複制、並行複制等,集成Columnstore、TokuDB等多種引擎,集成maxscale中間件解決方案等。但是隨著官方8.0的發布,很多功能官方也都開始覆蓋,且官方新版本由於掌握著InnoDB引擎,新的metadata都是用InnoDB存儲,MariaDB暫無法兼容。
官網:https://www.mariadb.com
看完本文有收獲?請轉發分享給更多人
關注「數據庫架構師」,提升數據庫技能微-信-號:
數據庫架構師