海量數據處理(轉三)---Google的高可擴展架構

   Google需要處理數據真正可以稱得上海量,這依賴於其分佈式的高擴展架構,否則,再強的小型機大型機也扛不住互聯網每天產生的信息垃圾GoogleJeff Dean同學爲我們解密了Google的高可擴展性架構,ppt可以從這裏下載。

一、底層架構

負載並行分配到多個硬件機器上
軟件必須採用容錯處理,不依賴具體的某一個臺機器運行
大量採用刀片服務器和PC Server,低端存儲和網絡設備
機器追求性價比而不是盲目的高性能
基於Linux

二、分佈式系統

調度系統:Scheduling System
調度系統是一個底層支撐系統,負責調度監控Cluster資源

文件存儲:GFS
Master
節點負責管理文件系統元數據
Chunkserver
存放具體數據,以64MB爲單元分佈
客戶端通過master查找文件
客戶端直接從chunkserver獲得需要的數據
目前運行超過200GFS羣集
超過5000臺機器
超過5PB數據
10000臺以上客戶端提供服務

數據存儲:BigTable
採用多維稀疏映射圖模型,每一個數據單元Cell可以存儲不同時間截的數據
將表按行分隔成Tablet,分佈到不同服務器上存儲
底層存儲架構採用GFS
Master
節點處理元數據和負載均衡
Tablet
服務器存儲數據
鎖服務器(Lock Service)控制數據訪問的一致性
超過500個數據單元
最大的單元存儲超過6000TB的數據,使用了超過3000臺機器
最忙的單元支撐了500000次以上的操作

數據處理:MapReduce
MapRedule
Google的批量數據處理工具,分爲兩大功能

  • 映射(Map):根據輸入生成(key,value)鍵值對
  • 簡化(Reduce):合併存儲(key,value)鍵值對

MapReduce用於Google的大多數產品中,包括Google Earth,News,Analytics,Search Quality,Indexing等等

目前,調度系統/GFS/BigTable/MapReduce可以在同一個羣集內協同工作

三、未來的發展方向

跨越數據中心的分佈式系統
更高的自動化程度

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章