中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

窺探QQ基礎(chǔ)數(shù)據(jù)庫(kù)架構(gòu)演變史

2019-05-16    來源:騰訊大講堂

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬Linux鏡像隨意使用

作為騰訊最核心最基礎(chǔ)的后臺(tái)服務(wù)之一,QQ基礎(chǔ)數(shù)據(jù)庫(kù)是存儲(chǔ)QQ用戶帳戶信息和關(guān)系鏈信息的海量集群,它承載了百萬級(jí)每秒的訪問量、十億級(jí)的賬戶數(shù)、百億級(jí)關(guān)系鏈。如此大規(guī)模的集群,它是如何從300萬的數(shù)量級(jí)一步一步演變而來?在它數(shù)據(jù)量不斷增長(zhǎng)的過程中,它經(jīng)歷了哪些困難,又是如何解決的?如今,它的架構(gòu)是怎么樣的?4月10日晚,騰訊大講堂《QQ基礎(chǔ)數(shù)據(jù)庫(kù)架構(gòu)演變之路》活動(dòng)在武漢人文館主廳舉辦。超過1000位學(xué)生和業(yè)內(nèi)人士到場(chǎng)參加,整個(gè)會(huì)議廳人山人海。

廖念波先生從QQ Basic DB是什么講起,開始了本次的講座。

QQ Basic DB是什么?是QQ用戶帳號(hào)(用戶密碼與資料)與關(guān)系鏈等基礎(chǔ)數(shù)據(jù)的分布式海量存儲(chǔ)集群。是QQ IM業(yè)務(wù)的后臺(tái)DB;是騰訊幾乎所有其他業(yè)務(wù)的基礎(chǔ),提供用戶帳號(hào)和關(guān)系鏈服務(wù)。它與QQ IM 集群并列為騰訊最核心、歷史最久的兩大集群。

早期的難題

在2000年,QQ Basic DB將每300萬連續(xù)QQ號(hào)碼存儲(chǔ)在一個(gè)機(jī)器上。我們碰到的最大問題是在登錄比較頻繁的情況下,磁盤非常忙,登錄超時(shí)。找到了影響磁盤隨機(jī)尋址能力的因素,我們提出了解決方案在進(jìn)程空間內(nèi),動(dòng)態(tài)分配一些內(nèi)存,將用戶熱點(diǎn)數(shù)據(jù)cache到內(nèi)存中。使得處理能力顯著提升,單機(jī)能夠處理1-2千次每秒的請(qǐng)求。

時(shí)間進(jìn)入2002年,隨著機(jī)器臺(tái)數(shù)增多,死機(jī)是家常便飯。QQ Basic DB通過IDC級(jí)容災(zāi)、數(shù)據(jù)復(fù)制等方法將(500+)*2臺(tái)機(jī)器;數(shù)百億的關(guān)系鏈,數(shù)十億的賬戶數(shù);每秒上百萬次讀,數(shù)萬次寫的數(shù)據(jù)庫(kù)的全年可用性做到了99.99%。

如何做到高可用?

1、IDC級(jí)的容災(zāi)

2、灰度發(fā)布

3、強(qiáng)監(jiān)控,及時(shí)處理

Bison提到,隨著時(shí)代的變遷,需求不斷增加,QQ Basic DB走入了V2.0。當(dāng)前的需求與DB能力的脫節(jié);一地的機(jī)房已飽和,異地部署逼在眉睫!新增一個(gè)帳號(hào)相關(guān)字段,需要2個(gè)月,把內(nèi)存全部重新load一遍,風(fēng)險(xiǎn)極高。老的架構(gòu)不能很好的支持異地部署,因此QQ Basic DB V2.0應(yīng)運(yùn)而生。

在演講中Bison特別強(qiáng)調(diào),要做到產(chǎn)品特性靈活擴(kuò)展,最關(guān)鍵的是用戶數(shù)據(jù)結(jié)構(gòu)的靈活性!QQ Basic DB在V2.0版本中,對(duì)數(shù)據(jù)結(jié)構(gòu)擴(kuò)展性上進(jìn)行了大量?jī)?yōu)化,F(xiàn)場(chǎng)Bison例舉了一個(gè)很簡(jiǎn)單的例子:采用XML開式存儲(chǔ)用戶數(shù)據(jù)的優(yōu)劣性。存儲(chǔ)海量數(shù)據(jù)的QQ Basic DB,不適宜采用類似XML方式進(jìn)行存儲(chǔ),原因是當(dāng)存儲(chǔ)量超過億級(jí)時(shí),冗余信息將極大占用通訊帶寬!QQ團(tuán)隊(duì)通過tag整數(shù)化、必選的定長(zhǎng)字段共用一個(gè)tag等手段,最終讓DB有效載荷相對(duì)XML模式提升了 10倍,pack/unpack效率提升了100倍!

Bison列舉的一個(gè)簡(jiǎn)單XML存儲(chǔ)例子

在下一個(gè)部分,Bison主要提到了大家比較關(guān)心的QQ Basic DB安全性問題,其中一個(gè)非常重要的點(diǎn)就是異地部署。他特別強(qiáng)調(diào),數(shù)據(jù)安全最關(guān)鍵的是有一套簡(jiǎn)單健壯、適應(yīng)窄帶化的數(shù)據(jù)復(fù)制機(jī)制。QQ Basic DBV2.0通過類似mysql復(fù)制機(jī)制做到了簡(jiǎn)單健壯,帶寬占用窄帶化,在專線故障情況下,流量可以在內(nèi)外網(wǎng)靈活切換。目前在全國(guó)各地都有部署。

接下來,廖念波先生給大家介紹了優(yōu)化了分片(sharding)方式、超長(zhǎng)關(guān)系鏈解決方法、過載保護(hù)等方面的內(nèi)容,給大家全面展示了騰訊的一些技術(shù)積累和總結(jié)。

文章來源:騰訊大講堂

標(biāo)簽: QQ基礎(chǔ)數(shù)據(jù) QQ數(shù)據(jù) 夤辜

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:網(wǎng)店推廣之挖掘潛力無限的淘吧推廣

下一篇:行業(yè)碰撞:百度與淘寶用戶研究團(tuán)隊(duì)交流對(duì)話錄