提到 MySQL, 我們不得不說說其兩大重要的時間點:
2008 年 Sun 收購 MySQL AB
2010 年 Oracle 收購 Sun
在 MySQL 兩次易主的過程中,開發(fā)者們普遍擔心某一天 MySQL 會成為一個非開源的收費版本,所以在此期間出現(xiàn)了很多類 MySQL 的 RDBMS。然而到目前為止,主要有兩個久經(jīng)考驗的 RDBMS 分別為:Percona server for MySQL 和 MariaDB。今天我們主要來介紹下Percona server for MySQL。
發(fā)展史
2008.12.16 年第一個版本 Percona Server 1.0.2 正式 release
2018.03.31 年最新的版本 Percona Server 5.7.22-22 正式 release
服務特性
Percona 其實是基于 MySQL 的一個分支開發(fā)的,然后做了一系列的功能優(yōu)化和完善,主要包括:
完全兼容 MySQL 協(xié)議
Bug 修復
性能優(yōu)化
支持 MySQL 社區(qū)版和企業(yè)版功能特性
豐富的性能診斷工具
我們來詳細介紹下其中幾項功能優(yōu)化:
MySQL 企業(yè)版功能特性
Threadpool
MySQL 針對每個連接請求會單獨分配一個線程。一旦連接的數(shù)量超過一定的閾值,性能反而會直線下降。
使用 Threadpool(線程池)技術,在有大量客戶端短事務連接的場景下,仍然可以保持較少的線程數(shù)量,從而減少上下文切換和熱鎖的爭用,從而保證服務性能不受連接數(shù)影響。
我們來看下有無 Threadpool 的性能差異:
IO bound: sysbench dataset 32 tables/12M rows each (~100GB), InnoDB buffer pool=25GB
In-memory/CPU bound: sysbench dataset 32 tables/12M rows each (~100GB), InnoDB buffer pool=100GB
PAM Authentication
PAM(Pluggable Authentication Modules),提供了更靈活、更安全的權限配置管理插件。
豐富的性能診斷工具
更多統(tǒng)計信息
Show global status 與 show global variables 將額外統(tǒng)計更多信息
Show engine innodb status 更詳細輸出,比如:
行操作相關項:Count of RW transactions occurring inside InnoDB
日志相關項:Max checkpoint age, Checkpoint age target, Modified age, Checkpoint age
內(nèi)存使用相關項:Internal Hash Tables, Buffer pool size in bytes
更強大的分析命令
show 和 explain 將輸出更詳細的內(nèi)容,用于性能剖析。
細粒度資源使用統(tǒng)計
支持userstat,用于性能調(diào)優(yōu)或資源控制。
更多插件
推薦直方圖插件,從 SQL 執(zhí)行次數(shù)和響應時間兩個維度統(tǒng)計慢查詢,量化數(shù)據(jù)庫性能指標。
性能優(yōu)化
XtraDB
這是 Percona 獨有的,可以認為是 InnoDB 存儲引擎的增強版,并且完全兼容 InnoDB。
Buffer Pool 優(yōu)化
我們來看下有無 buffer pool 優(yōu)化后的性能差異:
Throughput (more is better):
95% Response time (less is better):
完全兼容 MySQL 協(xié)議
如果你原先使用的是 MySQL 服務作為你的數(shù)據(jù)庫存儲服務,由于 Percona 是完全兼容 MySQL 協(xié)議的,所以從 MySQL 服務切換到 Percona 服務會是一個很平滑過程,對于業(yè)務側(cè)而言基本可以理解為無改動。
喜大普奔
近日,京東云正式推出了云數(shù)據(jù)庫 Percona 對外服務。
京東云數(shù)據(jù)庫 Percona 是京東云基于開源的 Percona 5.7 版本構建的穩(wěn)定可靠的數(shù)據(jù)庫服務。相比傳統(tǒng)數(shù)據(jù)庫,云數(shù)據(jù)庫 Percona 易于部署、管理和擴展,默認支持主從熱備架構,提供數(shù)據(jù)備份、故障恢復、監(jiān)控等全套解決方案,徹底解決數(shù)據(jù)庫運維的煩惱。
同時,京東云數(shù)據(jù)庫 Percona 通過使用網(wǎng)絡隔離、限制外網(wǎng)直接訪問等方式,為數(shù)據(jù)庫服務提供了高級別的安全性需求。