近日,技術大牛 MariaDB 公司創始人兼 CTO Michael Widenius(又名Monty)、MariaDB 基金會主席 Kaj 來到中國,針對MariaDB與騰訊雲的技術合作進行回訪。去年底,騰訊雲與MariaDB基金會達成戰略合作,騰訊雲承諾為基金會的發展提供強有力的資源支援,共建全球開源生態圈。
這次會見,騰訊雲與MariaDB就未來的雙向合作達成一致。後續,在不涉及騰訊雲核心程式碼的前提下,騰訊雲將優先提交程式碼給 MariaDB 基金會, 雙方共享使用權。同時,MariaDB也將積極響應騰訊雲資料庫開發的相關需求,提上更新日程,為騰訊雲升級迭代服務。
MariaDB 公司創始人兼 CTO Michael Widenius(左2)、MariaDB 基金會主席 Kaj (左1)和騰訊雲技術人員現場暢談技術和合作Monty 被視為 MariaDB的“技術靈魂”,在業內享有頗高聲望。他是 MySQL 第一行程式碼的作者。在MySQL被甲骨文收購後,Monty再創立MariaDB公司,同時成立非贏利組織 MariaDB 基金會,成為MySQL最重要的持續開源分支之一。
MariaDB 公司創始人兼 CTO Michael Widenius(左2)、MariaDB 基金會主席 Kaj現場review程式碼現場,騰訊雲專家工程師張青林向Monty展示了騰訊雲資料庫開源的最新進展。在談到技術細節時,Monty十分興奮,立即找到程式碼進行驗證,並對結果表示肯定。Monty表示:“騰訊雲資料庫核心團隊所做的工作正是 MariaDB 所需要的,無論是作為會員還是對於技術方面的貢獻。我們非常希望由 TXSQL(騰訊自研資料庫CynosDB的核心引擎)團隊來推進 MariaDB 的核心完善工作。”雙方共同敲下Enter鍵,將最新的開原始碼提交至GitHub。
開源不遺餘力
騰訊雲在開源社群影響力正在持續提升。自2017年騰訊雲正式成為MariaDB基金會最高階白金會員以來,深度參與基金會的各項會議與決策,不遺餘力地輸出騰訊在MariaDB資料庫上的經驗和技術,受到MariaDB社群及開發者的一致認可。
就在上個月,曼哈頓的MariaDB使用者者大會上,騰訊雲資料庫團隊再向MariaDB官方提交四個重要Patch,包括:Binloglotate優化、Binlog速度限制、企業級函式加密外掛、Droptable優化。這是繼去年在記憶體優化、InnoDB引擎、聚合運算等層面提交多個Patch後,騰訊雲資料庫團隊再次發力。
據張青林介紹,目前騰訊雲資料庫團隊針對MariaDB社群的主要貢獻體現在四個方面。
1、在記憶體優化層面,騰訊雲MySQL核心團隊針對information_schema多度佔用記憶體進行深度優化。由於在涉及Information_schema相關操作時,會使用記憶體來快取結果集,當連結數較多的時候會佔用大量的記憶體。TXSQL核心團隊對這一問題進行了優化,對於查詢結果不涉及到的欄位,減少查詢語句過程中所使用的記憶體,從而降低資源的使用率,這一改進已合進MariaDB 10.4 版本。
2、針對核心使用過程的常見問題,MySQL核心團隊也進行了深入分析與優化,包括大表刪除問題和企業級加密功能,並將這些通用功能提交給 MariaDB 官方。 TXSQL核心將要刪除的大表檔案加入刪除檔案佇列,每次只減少固定的空間,當空間小到一定程度的時候再進行刪除操作,從而解決了解決了大表刪除引起IO HANG,響應不及時、效能抖動等問題。整個刪除過程對使用者完全透明,不影響任何操作。
3、為方便使用者使用加密的功能,TXSQL 有針對性的開發了一套加解密函式功能,能夠有效管控明文資料的MySQL函式,通過基於OpenSSL的RSA/DH/DSA等加密演算法進行資料保護。
4、在Binlogrotate優化方面,為解決Binlogrotate所引起的寫阻塞問題,MySQL核心團隊優化寫效能。日誌是任何故障排除過程中非常重要的一部分,但這些日誌會隨著時間增長。在這種情況下,需要執行日誌清理以回收空間。通過在Linux中配置 logrotate 程式,以自動執行日誌檔案的輪換、壓縮、刪除和用郵件發出,優化寫效能。
張青林表示,後續騰訊雲還將在TXSQL核心研發上投入更多資源,並持續貢獻開源社群。
衝破 “上雲”障礙
不止於MariaDB的技術開源,騰訊雲在自建資料庫上的升級也為客戶帶來切實便利。
去年底,騰訊雲釋出了新一代自研雲原生資料庫CynosDB。這是騰訊雲在公司架構調整完成後,向外界釋出的首款產品。在架構上,CynosDB在產品架構上完全相容開源資料庫引擎介面,是國內首家相容MySQL5.7和全球第一個相容PostgreSQL10的雲資料庫產品。
在世界範圍內,MySQL和PostgreSQL是市面上最主流的兩大資料庫產品。這意味著,CynosDB所具備的相容性,可以讓企業幾乎無需更改程式碼,就可以輕鬆實現“上雲”。
資料庫“上雲”,是大資料時代潛力巨大的市場。據Gartner預測,到2023年世界上四分之三的資料庫都會跑在雲上,因此,雲資料庫也被認為是未來雲競爭的重要戰場。
目前,騰訊雲資料庫團隊總共進行了近60多項優化。為了提升系統可用性,CynosDB以軟體優化與新硬體結合為理念,採用了先進的計算和儲存分離架構,實現了計算無節點狀態,支援秒級故障切換和恢復,資料備份時間縮短到60秒之內,速度提升了180倍。
值得一提的是,CynosDB的"可計算智慧儲存"進一步滿足企業的實際應用場景,讓企業按實際使用量計費,自動擴縮容。在降低企業開支的同時,輕鬆應對突發的業務規模變化。
Kaj、王義成、Monty、張青林在MariaDB使用者者大會現場合影本月,在美國曼哈頓舉行的MariaDB使用者者大會上,騰訊雲資料庫CynosDB以其極致領先的效能、獨特的技術架構以及眾多核心層面的創新特性受到包括MariaDB基金會主席Kaj、MariaDB創始人Monty以及眾多參會者的高度認可。
必有迴響
近年來,騰訊在開源領域的投入不斷加大,深度擁抱並推動全球開源生態的發展,除了MariaDB基金會的白金會員,截至目前,騰訊已經獲得OpenStack、Linux Foundation、LF Deep Learning、MariaDB Foundation等國際知名開源組織的白金會員身份。此外,騰訊也是國內唯一的Apache白金贊助商。
創新不止,騰訊雲資料庫不遺餘力的開源工作,將持續擴大中國開發者在開源MariaDB社群的貢獻度與影響力。
(注:Tencent MySQL為騰訊深度定製的MySQL,簡稱TXSQL。)