多次獲得MySQL官方認可,騰訊云數據庫怎么做到的?

來源: 騰訊云數據庫
作者:騰訊云數據庫
時間:2021-06-04
16985
在這個海量數據大爆發(fā)的時代,以往單一的開源數據庫產品往往很難直接滿足企業(yè)的業(yè)務需求,在某些場景下,無論是性能、安全還是穩(wěn)定性,都面臨著各種各樣的問題,而在最近,擁有多種企業(yè)級特性的騰訊云數據庫MySQL已經連續(xù)多次獲得了官方認可,這是怎么做到的?

在這個海量數據大爆發(fā)的時代,以往單一的開源數據庫產品往往很難直接滿足企業(yè)的業(yè)務需求,在某些場景下,無論是性能、安全還是穩(wěn)定性,都面臨著各種各樣的問題,而在最近,擁有多種企業(yè)級特性的騰訊云數據庫MySQL已經連續(xù)多次獲得了官方認可,這是怎么做到的?

回到最初的起點,MySQL作為全世界最流行的開源數據庫,同時也是DB-ENGINES排名中前二的關系型數據庫,不用多說,相信每個數據庫領域的從業(yè)者都聽過這個熟悉的名字,在各種技術論壇里,關于MySQL的討論從未停止過,干貨教學、使用技巧、問題交流…正是MySQL良好的社區(qū)氛圍提升了其影響力,同時,社區(qū)中的大牛對MySQL提出優(yōu)化方案、提交patch修復bug、探索前沿技術而使MySQL變得越來越好用。

一個放到MySQL社區(qū)貢獻的patch

在騰訊云數據庫團隊就有這樣一位大牛,在國內可以說是最早接觸數據庫的姜宇祥,多年深耕于數據庫領域,職業(yè)生涯中還親身經歷了中國最早那一批國產數據庫從零開始的整個研發(fā)過程,目前在騰訊云MySQL團隊負責數據庫內核研發(fā)。

他積極參與MySQL開源社區(qū)在中國成長過程,通過技術宣講與技術文章助力MySQL在中國的傳播。

就在前陣子,他給MySQL提交了一個patch——這是MySQL官方直接放到5.7社區(qū)貢獻的patch如下:

InnoDB:The open and close sequence for table share instances(m_share objects)and dictionary table instances was modified to prevent accessing old m_share objects that could point to stale dictionary indexes.

Thanks to Yuxiang Jiang for the contribution.(Bug#31899685)

(原文詳見:

https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-34.html)

640.webp (1).jpg

其中特地提及“感謝姜宇祥的貢獻”(Thanks to Yuxiang Jiang for the contribution)

那么,這個patch到底憑什么被官方感謝呢?

簡單來說,這個patch修復了inndb的handler對象的index_mapping對象m_share中的index與ib_table不一致,原因是在獲取share對象時,表對象的的引用計數被提前減掉了,表對象被淘汰出dict cache,從index_mapping指向了不確定的內存地址的問題。該問題產生原因是open dict table和get share的操作順序不匹配。

以上是最近被采納的一個patch,在這之前,我們也分享過一個即將寫入官方源碼的bug解決之路,正是這些大牛的不斷貢獻,才使得MySQL變得越來越好用,高效且穩(wěn)定。

一封來自官方的感謝信

同時,也正因為這些值得被記住的貢獻,以及騰訊云數據庫與開源社區(qū)緊密的合作,在20年底,MariaDB社區(qū)還給騰訊云數據庫專門寫了一封特別的感謝信,對騰訊云數據庫一直以來對社區(qū)的發(fā)展提供的支持表示感激(原文詳見:https://mariadb.org/thanks-tencent/)

640.webp (2).jpg

作者Daniel Black在信中稱,“我要以MariaDB基金會的名義感謝騰訊在2020年為MariaDB做出的重大貢獻,騰訊……為每個人提供了價值,同時降低了(我們的)維護成本。”這得益于騰訊云數據庫一年來不斷的努力,根據其文章說明,可以看到,這些貢獻其中主要體現在:

1.Drop Table Force

表的元數據損壞時支持強制刪除表;部分分區(qū)損壞時支持強制刪除分區(qū)。

2.Asynchronous Drop Table

異步刪除大表,降低刪除大表時帶來的性能抖動。

3.Accelerate buffer pool init

并行初始化每個buffer pool instance,提升大內存實例的啟動速度。

4.Parallel Initialize Rollback Segment

并行讀取回滾段數據,加快實例啟動速度。

5.Redo log for NVDIMM in MariaDB

基于AEP設備的數據優(yōu)化方法,在多種寫場景下的數據庫性能都得到了大幅提升。

在促進數據庫技術及社區(qū)的發(fā)展上,騰訊云數據庫從未停下過自己的腳步,正如Daniel Black所說,“騰訊云數據庫一直以來都在不斷協(xié)助解決各種社區(qū)上遇到的問題,這表明了騰訊云數據庫不僅是專業(yè)的,也愿意和MariaDB合作?!痹谖磥?,我們會依舊在技術上持續(xù)深耕,為每個用戶和每個開源社區(qū)的開發(fā)者提供更好的服務,與所有的MySQL專家、使用者、社區(qū)一起構建越來越好用的MySQL生態(tài)。

立即登錄,閱讀全文
版權說明:
本文內容來自于騰訊云數據庫,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家