騰訊云MySQL 8.0上線,從此無(wú)懼秒殺場(chǎng)景
原創(chuàng)【51CTO.com原創(chuàng)稿件】騰訊云上運(yùn)行的數(shù)據(jù)庫(kù)服務(wù)統(tǒng)一稱為T(mén)encentDB,也叫CDB(Cloud DataBase),TXSQL(TengXunMySQL或TencentDB For MySQL)則是騰訊數(shù)據(jù)庫(kù)的內(nèi)核,該數(shù)據(jù)庫(kù)內(nèi)核是騰訊基于官方MySQL版本自研的MySQL分支。截至目前,TXSQL已經(jīng)服務(wù)了來(lái)自不同行業(yè)的近十萬(wàn)個(gè)實(shí)例。
近日,騰訊云MySQL 8.0正式發(fā)布,據(jù)騰訊TEG云架構(gòu)平臺(tái)部的數(shù)據(jù)專(zhuān)家工程師賴錚介紹,騰訊云新發(fā)布的TXSQL8.0版本的主要特性,包括數(shù)據(jù)安全方面的數(shù)據(jù)加密、SQL審計(jì);企業(yè)級(jí)的特性,如線程池,強(qiáng)一致性;還包括新硬件的支持、輕量級(jí)的數(shù)據(jù)分析功能、熱點(diǎn)更新、SQL限流等。
從性能方面來(lái)說(shuō),TXSQL優(yōu)化了多個(gè)模塊的性能,包括事務(wù)系統(tǒng)、鎖系統(tǒng),所以在讀和寫(xiě)兩個(gè)方面的性能都優(yōu)于官方版本。
由上圖可以看到,在只讀的場(chǎng)景下,TXSQL8.0的性能比官方版本大約提升了10%到20%。在寫(xiě)的場(chǎng)景下,有超過(guò)20%的提升。
為電商場(chǎng)景賦能
騰訊云有很多電商客戶,對(duì)于電商行業(yè)的需求和痛點(diǎn)深有體會(huì)。
秒殺是電商行業(yè)中的一個(gè)常見(jiàn)場(chǎng)景,其特點(diǎn)有三高:瞬時(shí)并發(fā)高,數(shù)據(jù)一致性高,熱點(diǎn)更新頻度高。這樣三高的場(chǎng)景往往給客戶的數(shù)據(jù)庫(kù)造成了極大的壓力。同樣,春運(yùn)搶票、搶紅包等場(chǎng)景中也存在著同樣的壓力。
據(jù)騰訊云MySQL數(shù)據(jù)庫(kù)的產(chǎn)品負(fù)責(zé)人黃稚禹介紹,騰訊云數(shù)據(jù)庫(kù)在8.0版本,針對(duì)用戶痛并快樂(lè)的場(chǎng)景進(jìn)行了很多專(zhuān)向定制的優(yōu)化,TXSQL內(nèi)核引擎可以幫助客戶在電商秒殺場(chǎng)景中做到穩(wěn)如泰山。
首先是熱點(diǎn)優(yōu)化。當(dāng)同一行數(shù)據(jù)被高頻度更新時(shí),MySQL 8.0會(huì)開(kāi)啟熱點(diǎn)更新的自動(dòng)探測(cè),如果有一行數(shù)據(jù)高頻度地進(jìn)行加一減一的更新,MySQL 8.0就會(huì)訪問(wèn)用戶更新的線程,進(jìn)行排隊(duì),以減少大量的等待。
熱點(diǎn)更新優(yōu)化效果
由上圖可以看到,在并發(fā)度到達(dá)1024的時(shí)候,開(kāi)啟了熱點(diǎn)更新,此時(shí)性能有接近10倍的提升。這個(gè)特性幫助騰訊云MySQL數(shù)據(jù)庫(kù)的很多電商用戶輕松地應(yīng)對(duì)了大促的場(chǎng)景,讓客戶賺錢(qián)的同時(shí),不再受技術(shù)瓶頸的煎熬。
第二是SQL限流。高并發(fā)的場(chǎng)景下用戶的訪問(wèn)量非常多,隨之而來(lái)的就是連接數(shù)劇增。如果沒(méi)有靜止的數(shù)據(jù),數(shù)據(jù)庫(kù)就會(huì)崩潰,或者一直處于等待的狀態(tài),無(wú)法響應(yīng)。 TXSQL 8.0推出的SQL限流優(yōu)化,使騰訊云的MySQL用戶可以對(duì)發(fā)生高并發(fā)的SQL,如對(duì)庫(kù)存的加一減一的更新操作,進(jìn)行監(jiān)控,當(dāng)這個(gè)SQL并發(fā)超過(guò)一定程度的時(shí)候,會(huì)對(duì)它進(jìn)行限流,或者拒絕,或者重寫(xiě)。重寫(xiě)是一個(gè)很簡(jiǎn)單的操作,基本上不會(huì)對(duì)數(shù)據(jù)庫(kù)性能產(chǎn)生影響。這種方式就是SQL限流,控制住核心高頻繁的SQL的并發(fā)度。
第三是動(dòng)態(tài)線程池。不同于官方8.0版本的動(dòng)態(tài)線程池,TXSQL 8.0不僅提升了高并發(fā)下的線程池技術(shù)帶來(lái)的性能,還減少了線程運(yùn)行時(shí)CPU的切換,以及提升連接,創(chuàng)建和銷(xiāo)毀連接的消耗時(shí)間,保證在大規(guī)模、高并發(fā)連接和復(fù)雜混合的SQL模型下,MySQL持續(xù)穩(wěn)定。
除了以上三個(gè)技術(shù)優(yōu)化外,由于電商行業(yè)是讀多寫(xiě)少的行業(yè),TXSQL 8.0增加了RO組的只讀實(shí)例的負(fù)載均衡能力,同時(shí)也推出了置放群組功能。
黃稚禹表示,TXSQL 8.0和官方8.0版本是兼容的,對(duì)用戶的使用體驗(yàn)沒(méi)有任何改變,是一個(gè)新的助推引擎,提供更快、更穩(wěn)的企業(yè)級(jí)的特性和服務(wù)。
此外,騰訊云MySQL提供非常完備的管控系統(tǒng),包括主備切換,災(zāi)備實(shí)例、只讀實(shí)例,用戶只需簡(jiǎn)單操作就可以完成。數(shù)據(jù)加密、SQL審計(jì)以及云本身具備的白名單、安全組、VPC網(wǎng)絡(luò)等功能,使得TXSQL 8.0安全性大大提高,在金融行業(yè)有非常重要的應(yīng)用。
當(dāng)今, “80后”數(shù)據(jù)庫(kù)(如Oracle)漸感吃力,“20后”數(shù)據(jù)庫(kù)正在茁長(zhǎng)成長(zhǎng)。近年來(lái),騰訊云數(shù)據(jù)庫(kù)服務(wù)已經(jīng)涵蓋了總計(jì)20多種數(shù)據(jù)庫(kù)服務(wù)。同時(shí),還在以每年發(fā)布5大產(chǎn)品、50多個(gè)新功能的速度遞增。隨著騰訊云MySQL 8.0的發(fā)布,將為電商、游戲、金融等行業(yè)帶來(lái)更簡(jiǎn)化的業(yè)務(wù)開(kāi)發(fā)模式、更安全的數(shù)據(jù)庫(kù)管理服務(wù)、更豐富的應(yīng)用場(chǎng)景,進(jìn)一步加速客戶產(chǎn)業(yè)升級(jí)。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】