1. 程式人生 > >Google 三大經典論文研讀:GFS、BigTable、MapReduce

Google 三大經典論文研讀:GFS、BigTable、MapReduce

決定 dfs red IE mas SM 高性能 file 處理

一、GFS

Google File System就是HDFS的前身

HDFS 參照了GFS的設計理念,大部分架構設計概念是類似的,比如 HDFS NameNode 相當於 GFS Master,HDFS DataNode 相當於 GFS chunkserver\

1.設計目標:

  • 多個客戶端可以在不需要額外的同步鎖定的 情況下,同時對一個文件追加數據
  • 高性能的穩定網絡帶寬遠比低延遲重要。目標程序絕大部分要求能夠高速率的、大批量的處理數
    據,極少有程序對單一的讀寫操作有嚴格的響應時間要求

2.架構:

技術分享圖片

一個 Chunk塊為64MB

  • Master 節點使用心跳信息周期地和每個 Chunk 服務器通訊,發送指令到各個 Chunk 服務器並接收 Chunk 服務器的狀態信息。

  • 客戶端並不通過 Master 節點讀寫文件數據。反之,客戶端向 Master 節點詢問它應該聯系的 Chunk 服務器。 客戶端將這些元數據信息緩存一段時間,後續的操作將直接和 Chunk 服務器進行數據讀寫操作。

3.GFS的一致性模型:

盡量采用追加寫入而不是覆蓋,Checkpoint,自驗證的寫入操作,自標識的記錄

4. 對比HDFS架構: 技術分享圖片

  • master slave model: 只有主人和slave進行主觀能動的通信,slave間不會通信。
  • master只會決定哪個slave去做讀/寫工作,然後client會直接和slave去傳輸。master只會收到request,master不會傳輸數據。
  • 怎麽存儲數據:block of small file
  • 誰負責去將數據拆分成小的blocks? => HDFS client

二、BigTable

三、MapReduce

Google 三大經典論文研讀:GFS、BigTable、MapReduce