多次獲得MySQL官方認(rèn)可,騰訊云數(shù)據(jù)庫怎么做到的?

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

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

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

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

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

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

就在前陣子,他給MySQL提交了一個patch——這是MySQL官方直接放到5.7社區(qū)貢獻(xiàn)的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

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

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

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

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

一封來自官方的感謝信

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

640.webp (2).jpg

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

1.Drop Table Force

表的元數(shù)據(jù)損壞時支持強(qiáng)制刪除表;部分分區(qū)損壞時支持強(qiáng)制刪除分區(qū)。

2.Asynchronous Drop Table

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

3.Accelerate buffer pool init

并行初始化每個buffer pool instance,提升大內(nèi)存實(shí)例的啟動速度。

4.Parallel Initialize Rollback Segment

并行讀取回滾段數(shù)據(jù),加快實(shí)例啟動速度。

5.Redo log for NVDIMM in MariaDB

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

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

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