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