百度楊林:百度云MongoDB經(jīng)驗(yàn)分享
作者:韓蕊
2014年7月25-26日,由51CTO傳媒主辦的全球軟件技術(shù)峰會(huì)WOT(World Of Tech)在北京富力萬麗酒店召開。在下午的數(shù)據(jù)庫技術(shù)與應(yīng)用專場,百度云系統(tǒng)部工程師楊林為大家?guī)眍}為《百度云MongoDB經(jīng)驗(yàn)分享》 的精彩演講。本次演講包括MongoDB的應(yīng)用場景介紹,以及其中常見的問題分析。
2014年7月25-26日,由51CTO傳媒主辦的全球軟件技術(shù)峰會(huì)WOT(World Of Tech)在北京富力萬麗酒店召開。秉承專注技術(shù)、服務(wù)技術(shù)人員的理念,自2012年以來,WOT品牌峰會(huì)成功舉辦了三屆,積累了大量的技術(shù)專家資源,獲得了廣大IT從業(yè)者和技術(shù)愛好者的一致認(rèn)可,成為了業(yè)界重要的技術(shù)分享交流平臺(tái)以及人脈拓展平臺(tái)。
本次會(huì)議分為8個(gè)技術(shù)主題,分別是:數(shù)據(jù)庫技術(shù)與應(yīng)用,互聯(lián)網(wǎng)架構(gòu)分析,高效的技術(shù)團(tuán)隊(duì),敏捷開發(fā),實(shí)時(shí)計(jì)算與數(shù)據(jù)分析,移動(dòng)應(yīng)用,自動(dòng)化運(yùn)維,開源技術(shù)。51CTO作為本次峰會(huì)的主辦方,將全程視頻、圖文直播報(bào)道這場數(shù)據(jù)的盛宴。
在下午的數(shù)據(jù)庫技術(shù)與應(yīng)用專場,百度云系統(tǒng)部工程師楊林為大家?guī)眍}為《百度云MongoDB經(jīng)驗(yàn)分享》 的精彩演講。本次演講包括MongoDB的應(yīng)用場景介紹,以及其中常見的問題分析。
Mongo特點(diǎn)是具有豐富的數(shù)據(jù)類型,具有豐富的索引/查詢模式支持,Schemaless靈活,比較容易上手,還可以自動(dòng)分享,同時(shí)還具有較高的性能。
那么,百度云是怎么用Mongo的呢?
其應(yīng)用場景主要有結(jié)構(gòu)化存儲(chǔ)平臺(tái)PSS;典型的應(yīng)用有:圖片exif信息;通訊錄;設(shè)備同步。在百度網(wǎng)盤中,圖片的分類就是利用了MongoDB。以及數(shù)據(jù)量達(dá)到百億、千億的應(yīng)用。對于性能方面的要求,如果該應(yīng)用屬于在線業(yè)務(wù),平均響應(yīng)時(shí)間要求10ms內(nèi)。具有多索引需求,包含數(shù)據(jù)索引的應(yīng)用,都適合使用MongoDB。
它的特點(diǎn)是規(guī)模比較大,單表數(shù)據(jù)量可達(dá)到數(shù)百億,而且容易觸發(fā)Mongo的一些性能隱患。數(shù)據(jù)屬于冷數(shù)據(jù),而且對于數(shù)據(jù)起用法固定。都是基于個(gè)人的數(shù)據(jù),可以很好按照uid分享。而且查詢模式也相對簡單。
在應(yīng)用過程中,我們也遇到了很多問題。
比如:連接數(shù)爆炸的問題。當(dāng)conn一直上漲,達(dá)到配置的極限值以后,就開始拒絕服務(wù)了。之所以會(huì)出現(xiàn)這些問題,主要是,緩慢查詢,客戶端太多。對于這些問題,我們通過監(jiān)控及早發(fā)現(xiàn),針對慢查詢用KillOp()殺掉。針對客戶端過多的情況,增加一層proxy。
還有就是auto balancer。在數(shù)據(jù)量小的時(shí)候,是不會(huì)有問題的。但是一旦開始balancer,線上服務(wù)就開始不穩(wěn)定,系統(tǒng)就開始讀寫變慢,超市,conn,qr上漲。即使調(diào)整了balancer窗口,也不能從根本上解決問題,要不了幾天窗口還會(huì)被縮小。我們通過moveChunk后刪除階段限速,能緩解問題。通過pre-sharing,然后可以關(guān)閉auto balance。
以上是51CTO.com記者從一線為您帶來的精彩報(bào)道。后續(xù)我們還有更加精彩的獨(dú)家報(bào)道,敬請關(guān)注。
責(zé)任編輯:林師授
來源:
51CTO