1. 程式人生 > >The Google File System論文拜讀

The Google File System論文拜讀

數據分布 大型 伸縮性 設計時 失效 度量 新的 之前 系統設計

The Google File System
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung
Google?

摘要

我們設計並實現了谷歌文件系統,這是一個為大型分布式數據密集型的應用而設計的可伸縮的分布式文件系統。

它能夠運行在廉價的商用機器上同時又提供了容錯率,並且對大量客戶端服務時提供了很高的聚合性能。

雖然GFS和之前的分布式文件系統在設計上有很多共同的目標,但是我們的設計同時也受到對我們應用負載和技術環境的觀察而驅動,包括當前的和預期的,反映出和某些之前的文件系統假設不同的標誌分離。

這種驅動迫使我們重新考量文件系統設計時的傳統選擇並且發掘出一些從根本上不同的設計點。

新的文件系統可以很好的滿足我們的存儲需求。它在Google中廣泛部署用作存儲平臺為生成和處理的數據我們服務中使用的以及搜索和開發任務需要存儲大量的數據集。目前為止最大的集群可以提供數百TB的數據分布在超過一千臺機器的數千個磁盤上,並且並發地被數百個客戶端所訪問。

在本文中,我們提供了文件系統接口擴展被設計用於支持分布式的應用,討論了我們設計中的很多方面,同時也報告了小的基準測試和實際使用的中的度量結果。

分類和學科描述

分布式文件系統

一般術語

設計,可靠性,性能,度量

關鍵詞

容錯,伸展性,數據存儲,集群存儲

1. 引言

我們設計並實現了Google File System(GFS)來Google快速增長的數據處理的需要。GFS和之前的分布式文件系統有很多共同的特點,比如性能,伸縮性,可靠性和可用性。然而,它的設計還來源於我們對應用負載和技術環境的重要的觀察,包括了當前的和預估的,表現出了和一些以前的文件系統在設計假設上的標誌性不同。我們重新考量在文件系統設計時的傳統選擇,發掘了在設計上根本的不同點。

首先,組件的失效是常態而不是僅僅會在異常的時候發生。新的文件系統中包含了數百個乃至數千個構建在廉價商用機器上的存儲部件。組件的數量和質量實際上可以保證某些機器可以在任何給定的時間失效以及某些機器可以不從當前的故障中恢復過來。我們見到過由於應用bug,操作系統bug,人為因素和磁盤,內存,連接器,網絡以及電力供應導致的失效而造成問題。因此,時刻的監視,錯誤檢測,容錯和自動回復必須集成到這個新的文件系統中。

第二,第二個毛線,回家了,有些地方不好翻譯,不過大部分還是易讀的,同時讀了也有收獲呀。

第二,以傳統的標準來看,文件都是很大的。幾個GB的文件都是常見的。每個文件通常都會包含多個應用對象比如web文件。當我們經常要處理很多增長迅速的包含了數百萬個對象的TB級數據時,要管理數百萬個在KB級大小的文件顯得很笨重,即使文件系統對此提供支持。

The Google File System論文拜讀