高配版 MySQL 如何升級?看華為云最新技術(shù)解析
11月10日,由中國 MySQL 用戶組主辦的 ACMUG & CRUG 2018 技術(shù)沙龍,全國巡演武漢站拉開序幕。華為云數(shù)據(jù)庫也隨之亮相,帶來《MySQL數(shù)據(jù)庫在云端 – 華為云數(shù)據(jù)庫MySQL實(shí)戰(zhàn)》主題演講,將華為云對 MySQL內(nèi)核做的大量優(yōu)化為大家一一揭示。

武漢作為全國經(jīng)濟(jì)中心、高水平科技創(chuàng)新中心、商貿(mào)物流中心和國際交往中心四大功能為支撐的國家中心城市,許多高新技術(shù)企業(yè)的逐漸落戶,給這座具有歷史厚重的城市帶來科技?xì)庀ⅰHA為云數(shù)據(jù)庫的到來,為 ACMUG & CRUG、為武漢的科技色彩都添上了絢爛的一筆。
由于開源數(shù)據(jù)庫已經(jīng)在云上蓬勃發(fā)展,但云數(shù)據(jù)庫并不是簡單 VM+DBS 的堆疊, 而是需要結(jié)合軟硬件做深度改造,因此,相關(guān)技術(shù)人員們正面臨不同程度的挑戰(zhàn)。本次活動主要面向 DBA(數(shù)據(jù)庫管理員)、運(yùn)維、開發(fā)、MySQL用戶、Redis 用戶等人群,而華為云數(shù)據(jù)庫技術(shù)專家?guī)淼姆窒恚舱菄@他們的需求展開。
云數(shù)據(jù)庫 VS 云端自建數(shù)據(jù)庫
關(guān)于云數(shù)據(jù)庫和云端自建數(shù)據(jù)庫的差異,前者使用便捷、成本更低等,已經(jīng)是老生常談的話題。而具體到技術(shù)人員的使用過程中,云端自建數(shù)據(jù)庫還會存在更多挑戰(zhàn),下面列舉幾個關(guān)鍵點(diǎn)。
云端自建數(shù)據(jù)庫的挑戰(zhàn):
沒有 super 權(quán)限
由于沒有super 權(quán)限,管理人員往往不能執(zhí)行 reset master 等管理命令、不能通過 set 命令修改參數(shù);此外導(dǎo)入數(shù)據(jù)、創(chuàng)建觸發(fā)器等可能報(bào)錯;而且不能自行刪除日志,可能導(dǎo)致磁盤空間滿,無法對數(shù)據(jù)庫進(jìn)行寫入操作。
不能登錄操作系統(tǒng)
這導(dǎo)致的問題主要有兩個:不能接觸物理文件,不能從服務(wù)器端 load 數(shù)據(jù),對管理人員來說,相當(dāng)不方便。
不能自由選擇存儲引擎
由于云端自建數(shù)據(jù)庫不能自由支持第三方存儲引擎,導(dǎo)致管理人員選擇受限。
不能安裝插件
由于不能自行安裝插件,導(dǎo)致使用過程中某些功能或需求難以實(shí)現(xiàn)。
那么,云數(shù)據(jù)庫又是如何解決這些問題呢?
云數(shù)據(jù)庫的對應(yīng)措施
主備高可用、實(shí)例重啟等由云服務(wù)商自動完成,通過 console 來修改參數(shù),通過規(guī)避方法可以避免使用 super 權(quán)限。
通過 console 服務(wù)化方式提供,比如慢日志、錯誤日志等,客戶從客戶端執(zhí)行 load data local infile 導(dǎo)入數(shù)據(jù),權(quán)限默認(rèn)放開。
目前支持 MEMORY、CSV、MyISAM、InnoDB、ARCHIVE、MGR_MYISAM 等主要存儲引擎,滿足絕大多數(shù)場景。
將一些常用插件事先安裝。
事實(shí)上,云數(shù)據(jù)庫與云端自建數(shù)據(jù)庫的最大區(qū)別,正是在于對數(shù)據(jù)庫系統(tǒng)的關(guān)注程度。
云端自建數(shù)據(jù)庫相較傳統(tǒng)自建數(shù)據(jù)庫而言,雖然免去了機(jī)房、機(jī)架、網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)等基礎(chǔ)設(shè)施的投入和維護(hù),但仍然需要技術(shù)人員對數(shù)據(jù)庫系統(tǒng)自行搭建和運(yùn)維,從安裝到運(yùn)維,升級、補(bǔ)丁、備份與恢復(fù)、高可用、彈性伸縮等工作,一步都不能少。
云數(shù)據(jù)庫最大的優(yōu)勢,則在于解決數(shù)據(jù)庫的軟硬問題,提供數(shù)據(jù)庫從搭建到運(yùn)維的一站式服務(wù),將技術(shù)人員從繁復(fù)的日常運(yùn)維中解放出來,投入到架構(gòu)升級、應(yīng)用優(yōu)化等更重要的工作中去。
華為云數(shù)據(jù)庫 MySQL 增強(qiáng)版
在與客戶和用戶的大量接觸中,華為云數(shù)據(jù)庫從大家亟待解決的問題入手,基于業(yè)務(wù)可靠性和可用性進(jìn)行優(yōu)化,提升 RDS 服務(wù)體驗(yàn),解決痛點(diǎn)問題。
一方面,華為云 MySQL 積極擁抱社區(qū)借鑒優(yōu)秀方案,回合部分代碼、fix 其中的 bug,達(dá)到快速上線的要求。一方面,華為云 MySQL主動擁抱公有云架構(gòu),面向最終的服務(wù)體系,端到端進(jìn)行優(yōu)化調(diào)整,根據(jù)客戶可維護(hù)性訴求提升服務(wù)質(zhì)量。
華為云 MySQL 從功能到架構(gòu)上的優(yōu)化主要有以下幾個方面:
GTID 約束放開
社區(qū)版對于打開 GTID 有幾種約束限制,會導(dǎo)致一些用戶遷移上云需要應(yīng)用改造。華為云 MySQL 搭載 HWSQL 內(nèi)核,首家全面支持 GTID,無需改造應(yīng)用即可遷移上云,領(lǐng)先市場。
引入線程池
傳統(tǒng) MySQL 采用的單線程模式,高并發(fā)場景下性能會降低。華為云引入企業(yè)版中線程池的功能,大并發(fā)下支持更多連接,性能穩(wěn)定卓越。當(dāng)前,華為云 MySQL 5.6 和 5.7 都引入了事務(wù)級的多線程復(fù)制,有效降低復(fù)制延遲。
支持存儲引擎自動轉(zhuǎn)換
華為云 MySQL能自動將存儲引擎 MyISAM 轉(zhuǎn)換為 InnoDB,完全支持事務(wù),同時避免表級鎖,提高并發(fā)性,且兼容 MyISAM 語法,對用戶完全透明,解決 MyISAM 不支持事務(wù)的問題。
支持 RDS 權(quán)限控制
防止用戶誤刪除系統(tǒng)庫或者執(zhí)行一些破壞實(shí)例正常運(yùn)行的命令,能保證實(shí)例的更穩(wěn)定運(yùn)行。
引入備份鎖,徹底解決備份事務(wù)阻塞問題
社區(qū)版 MySQL 使用傳統(tǒng)備份工具進(jìn)行物理備份時,需執(zhí)行 flush table with read lock;命令獲取全局讀鎖;如果此前存在長事務(wù)運(yùn)行未結(jié)束,讀鎖命令將持續(xù)處于等待狀態(tài),導(dǎo)致后續(xù)讀寫語句阻塞。華為云 MySQL 引入 backup lock,徹底解決備份事務(wù)阻塞問題,提高備份效率。
支持 root 賬號 kill 掉其他 user 線程,線上線下體驗(yàn)一致
Root 能 kill 其他線程,查看每個線程的內(nèi)存、CPU 使用情況,符合線下使用習(xí)慣,方便運(yùn)維。
當(dāng)前,華為云 MySQL 搭載 HWSQL 內(nèi)核,增強(qiáng)連接池特性,并發(fā) 5000 ,性能穩(wěn)定,QPS 超過 17萬+,高并發(fā)性能提升50%以上。

值得一提的是,華為云近期推出了基于 Paxos 協(xié)議的一主兩備三節(jié)點(diǎn)架構(gòu)的 MySQL 金融版,解決網(wǎng)絡(luò)孤島、腦裂等分布式系統(tǒng)問題,確保數(shù)據(jù)最終一致性。保證數(shù)據(jù)庫高可用和高可靠,滿足金融場景下的數(shù)據(jù)庫高要求。
了解華為云 MySQL 更多內(nèi)容,請?jiān)L問官網(wǎng),首頁搜索云數(shù)據(jù)庫 MySQL
特別提醒:本網(wǎng)信息來自于互聯(lián)網(wǎng),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時性本站不作任何保證或承諾,并請自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系我們,本站將會在24小時內(nèi)處理完畢。