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