近日,百度與戴爾聯合推出百度易手機,這款手機上每個用戶可擁有100G免費存儲空間。這也引發了業界對百度大數據存儲能力的關注。百度為何能提供100G免費存儲空間,未來又將在大數據存儲方面做哪些工作。
百度技術委員會理事長陳尚義對騰訊科技解密,稱百度成立之初就開發了自己的大數據存儲系統。團隊云集包括谷歌、IBM、微軟等數據存儲和處理方面專家。他還透露,百度未來將開發跨數據中心存儲系統。
陳尚義介紹,百度每天面對海量數據。每天收集幾千億網頁,系統每天都產生海量日志,容量達到百PB級,需要數萬臺服務器存儲,這還不算用戶在使用百度產品中自己生成的內容(UGC)和百度客戶數據,這部分數據加起來就有幾個PB,僅這些數據就比傳統企業的大上很成千上萬倍。并且隨著網頁資源增加和搜索質量提升,網頁和超鏈數據將隨之急劇增加。
百度數據呈現海量、高增長,結構化和非結構化大量并存,記錄大小差距巨大,數據一致性強弱不一,數據冷熱不均,突發事件常導致數據訪問波峰等特點。與此同時,百度業務對數據存儲和處理提出極高要求。要求數據高可用、高可靠、高通量、高時效、高并發、高可擴展,要求百度的數據存儲能力和處理能力必須以非常簡單的方式獲得擴容,以降低維護升級的代價。面對這些特點和要求,百度必須開發自己的大數據存儲系統。
陳尚義說,百度最早上線數據存儲系統時,開源系統還沒有發布,還由于開源系統的性能受限、無法充分利用機器的各種資源尤其是新硬件資源、無法為特定的訪問模式做優化、缺乏滿足工業界的穩定性等諸多原因,百度不能使用開源系統。不僅開源的用不上,而且市場上無現成商業化產品可供百度使用,因為任何一個廠商都沒有如此海量、如此復雜的數據。
百度一開始就自主開發了大數據存儲系統,用于存儲網頁和超鏈、客戶信息和用戶產品、系統日志等海量數據,支持Table、Pipe、File和KV等數據類型,滿足百度業務的流式和觸發式計算、文件存儲和訪問、低延遲、高并發的需求。
陳尚義說,在這些基礎上,百度還面向廣大網民推出云存儲系統,在前不久發布的百度易手機上,每個用戶可擁有100G的免費存儲空間。除了給每個用戶100G的免費空間外,百度易手機上應用和數據,都是這套系統在背后支撐。
▲百度大數據存儲體系
陳尚義還透露,為應對上百PB的數據,滿足諸多近乎苛刻的要求,百度采取了一些措施。包括開發網頁更新模型,將對磁盤的隨機寫轉化為批量的順序寫,提高數據的寫入速度,縮短了網頁數據的更新周期,提高搜索引擎等產品時效果性。
此外,還包括對涉及數據存儲和訪問的各個方面進行全局優化。對訪問模式采用數據索引、緩存熱點數據、外存預讀、IO緩存等技術手段,降低在線訪問的延遲,提高系統的吞吐量;未來,百度還將開發跨數據中心的存儲系統。