高配版 MySQL 如何升級?這裡有份最新技術解析
11月10日,由中國 MySQL 使用者組主辦的 ACMUG & CRUG 2018 技術沙龍,全國巡演武漢站拉開序幕。華為雲資料庫也隨之亮相,帶來《MySQL資料庫在雲端 - 華為雲資料庫MySQL實戰》主題演講,將華為雲對 MySQL核心做的大量優化為大家一一揭示。
武漢作為全國經濟中心、高水平科技創新中心、商貿物流中心和國際交往中心四大功能為支撐的國家中心城市,許多高新技術企業的逐漸落戶,給這座具有歷史厚重的城市帶來科技氣息。華為雲資料庫的到來,為 ACMUG & CRUG、為武漢的科技色彩都添上了絢爛的一筆。
由於開源資料庫已經在雲上蓬勃發展,但云資料庫並不是簡單 VM+DBS
雲資料庫 VS 雲端自建資料庫
關於雲資料庫和雲端自建資料庫的差異,前者使用便捷、成本更低等,已經是老生常談的話題。而具體到技術人員的使用過程中,雲端自建資料庫還會存在更多挑戰,下面列舉幾個關鍵點。
雲端自建資料庫的挑戰:
- 沒有 super 許可權
由於沒有super 許可權,管理人員往往不能執行 reset master 等管理命令、不能通過 set 命令修改引數;此外匯入資料、建立觸發器等可能報錯;而且不能自行刪除日誌,可能導致磁碟空間滿,無法對資料庫進行寫入操作。
- 不能登入作業系統
這導致的問題主要有兩個:不能接觸物理檔案,不能從伺服器端 load 資料,對管理人員來說,相當不方便。
- 不能自由選擇儲存引擎
由於雲端自建資料庫不能自由支援第三方儲存引擎,導致管理人員選擇受限。
- 不能安裝外掛
由於不能自行安裝外掛,導致使用過程中某些功能或需求難以實現。
那麼,雲資料庫又是如何解決這些問題呢?
雲資料庫的對應措施
- 主備高可用、例項重啟等由雲服務商自動完成,通過 console 來修改引數,通過規避方法可以避免使用 super 許可權。
- 通過 console 服務化方式提供,比如慢日誌、錯誤日誌等,客戶從客戶端執行 load data local infile 匯入資料,許可權預設放開。
- 目前支援 MEMORY、CSV、MyISAM、InnoDB、ARCHIVE、MGR_MYISAM 等主要儲存引擎,滿足絕大多數場景。
- 將一些常用外掛事先安裝。
事實上,雲資料庫與雲端自建資料庫的最大區別,正是在於對資料庫系統的關注程度。
雲端自建資料庫相較傳統自建資料庫而言,雖然免去了機房、機架、網路、伺服器、作業系統等基礎設施的投入和維護,但仍然需要技術人員對資料庫系統自行搭建和運維,從安裝到運維,升級、補丁、備份與恢復、高可用、彈性伸縮等工作,一步都不能少。
雲資料庫最大的優勢,則在於解決資料庫的軟硬問題,提供資料庫從搭建到運維的一站式服務,將技術人員從繁複的日常運維中解放出來,投入到架構升級、應用優化等更重要的工作中去。
華為雲資料庫 MySQL 增強版
在與客戶和使用者的大量接觸中,華為雲資料庫從大家亟待解決的問題入手,基於業務可靠性和可用性進行優化,提升 RDS 服務體驗,解決痛點問題。
一方面,華為雲 MySQL 積極擁抱社群借鑑優秀方案,回合部分程式碼、fix 其中的 bug,達到快速上線的要求。一方面,華為雲 MySQL主動擁抱公有云架構,面向最終的服務體系,端到端進行優化調整,根據客戶可維護性訴求提升服務質量。
華為雲 MySQL 從功能到架構上的優化主要有以下幾個方面:
- GTID 約束放開
社群版對於開啟 GTID 有幾種約束限制,會導致一些使用者遷移上雲需要應用改造。華為雲 MySQL 搭載 HWSQL 核心,首家全面支援 GTID,無需改造應用即可遷移上雲,領先市場。
- 引入執行緒池
傳統 MySQL 採用的單執行緒模式,高併發場景下效能會降低。華為雲引入企業版中執行緒池的功能,大併發下支援更多連線,效能穩定卓越。當前,華為雲 MySQL 5.6 和 5.7 都引入了事務級的多執行緒複製,有效降低複製延遲。
- 支援儲存引擎自動轉換
華為雲 MySQL能自動將儲存引擎 MyISAM 轉換為 InnoDB,完全支援事務,同時避免表級鎖,提高併發性,且相容 MyISAM 語法,對使用者完全透明,解決 MyISAM 不支援事務的問題。
- 支援 RDS 許可權控制
防止使用者誤刪除系統庫或者執行一些破壞例項正常執行的命令,能保證例項的更穩定執行。
- 引入備份鎖,徹底解決備份事務阻塞問題
社群版 MySQL 使用傳統備份工具進行物理備份時,需執行 flush table with read lock;命令獲取全域性讀鎖;如果此前存在長事務執行未結束,讀鎖命令將持續處於等待狀態,導致後續讀寫語句阻塞。華為雲 MySQL 引入 backup lock,徹底解決備份事務阻塞問題,提高備份效率。
- 支援 root 賬號 kill 掉其他 user 執行緒,線上線下體驗一致
Root 能 kill 其他執行緒,檢視每個執行緒的記憶體、CPU 使用情況,符合線下使用習慣,方便運維。
當前,華為雲 MySQL 搭載 HWSQL 核心,增強連線池特性,併發 5000 ,效能穩定,QPS 超過 17萬+,高併發效能提升50%以上。
值得一提的是,華為雲近期推出了基於 Paxos 協議的一主兩備三節點架構的 MySQL 金融版,解決網路孤島、腦裂等分散式系統問題,確保資料最終一致性。保證資料庫高可用和高可靠,滿足金融場景下的資料庫高要求。