在上一篇文章中我快速地概述了從谷歌檔案系統組織到儲存相關的特徵比如RAID以及高可用性。在給出我關於GFS作為一個商業產品市場潛力的結論之前,我想提供更多一些關於GFS效能的資料。
Ghemawat、Gobioff 和 Leung 合著的《The Google File System》包含了一些有意思的效能資訊。這些例子不能被當做是有代表性的,畢竟我們並沒有充分了解谷歌使用的GFS機群規模,所以他們得到的結論只能被認為是初步結論。
我們來看下面描述的兩個GFS機群:
Cluster | A | B |
Chunkservers | 342 | 227 |
Available Disk Cap. | 72 TB | 180 TB |
Used Disk Cap | 55 TB | 155 TB |
Number of Files | 735 k | 737 k |
Number of Dead Files | 22 k | 232 k |
Number of Chunks | 992 k | 1550 k |
Metadata at Chunkservers | 13 GB | 21 GB |
Metadata at Master | 48 MB | 60 MB |
我們有了兩個規模相當的儲存系統,其中一個可用空間利用率大約為80%,另一個空間利用率接近90%。這對任何資料儲存中心管理員來說都是一個可觀的規模。我們也注意到chunk後設資料的規模跟chunk的數目成線性關係。很好。機群A中的平均檔案大小大約相當於B機群的1/3,。A機群的平均檔案大小大約為75MB,而B機群的平均檔案大小約為210MB。這遠大於一般的資料中心的平均檔案大小。
接下來我們來看這兩個機群的效能資料:
Cluster | A | B |
Read Rate – last minute | 583 MB/s | 380 MB/s |
Read Rate – last hour | 562 MB/s | 384 MB/s |
Read Rate – since restart | 589 MB/s | 49 MB/s |
Write Rate – last minute | 1 MB/s | 101 MB/s |
Write Rate – last hour | 2 MB/s | 117 MB/s |
Write Rate – since restart | 25 MB/s | 13 MB/s |
Master Ops – last minute | 325 Op/s | 533 Op/s |
Master Ops – last hour | 381 Op/s | 518 Op/s |
Master Ops – since restart | 202 Op/s | 347 Op/s |
正如作者所說的那樣,系統的序列讀取操作效能是很卓越的,序列寫操作效能是很棒的,而小規模寫操作效能是一般的。通過觀察A機群的效能資料,我推斷最後一分鐘它處理了125個小檔案的寫操作,這些檔案平均大小為8KB。顯然,這對於具有500個電話坐席的oracle客服中心來講,全力埋頭工作是不夠的,這也不是所要設計的核心。對我而言,這樣的效能可以輕而易舉的超過EMC Centera或者用來處理大檔案的新NetApp FAS6000系列。這對於一個三年前設計的由商業機器搭建起來的檔案系統已經不錯了。
我們這裡看到的GFS實現具有許多有助於獲勝的性質。
這些品質包括了:
- 可用性。冗餘三份(使用者可以選擇更多)、chunk並行備份、master快速的故障轉移、智慧的備份放置措施、自動再備份以及低代價的快照拷貝。所有這些傳遞的特徵,正如谷歌使用者每天看到的那樣:世界最大的資料中心之一提供的資料中心級別的可用性。
- 效能。大部分的工作量,即使是在資料庫中,大約90%是讀取任務。GFS在大規模序列讀取操作上的效能堪稱模仿。對於谷歌而言,將視訊下載新增到他們的產品集中簡直是小兒科,我懷疑他們的每位元組花費的代價要比Youtube以及其他所有的視訊分享服務低。
- 管理。系統提供了許多 “自動“管理。它通過多種失敗模型來管理自己、提供自動的負載均衡以及儲存池、也提供了許多特徵,包括快照以及提供了對抗故障和錯誤功能的在系統中保留三天已刪除檔案的性質。我很樂意知道需要多少系統管理員來維護這個系統。
- 代價。沒有比用ATA儲存盒更便宜的儲存了。
然而,作為一個一般意義上的商業產品,他也有一些嚴重的短處。
- 附加記錄操作和“寬鬆“的一致性模型,即便對於谷歌來說非常好,並不一定適用於很多的企業工作任務。可能不適用於郵件系統,在那裡SOX要求正推動保留,可能被重新設計,以消除刪除。而附加操作在GFS多客戶端同時寫檔案的時候發揮了關鍵作用,這也就是說在企業中GFS可能會喪失它的大部分優勢,甚至於大規模序列讀取操作的效能。
- 別忘了,GFS是NFS(not for sale),不是為了銷售的。谷歌一定將它的平臺技術視為核心競爭力,所以近期內它幾乎不可能會開放原始碼。
綜合來看,及時假定GFS會被出售,這也是一個小眾的產品,並不會在公開的市場上非常成功。
然而從可實現的能力上去評價這個模型,則是無價的。整個產業界在過去20年一直致力於通過搭建越來越昂貴的“防彈“設施來為受到越來越多挑戰的基於塊和卷的儲存模型增加可用性和可擴充套件性。
GFS打破了那個模型,並且向我們展示,當反思整個儲存模型時我們可以做什麼。圍繞裝置去建立可用性,而不是在裝置本身上,這將儲存平臺當做一個系統而不是一系列部件的集合,將檔案系統功能擴充套件到了很多我們現在考慮的儲存管理,包括虛擬化、持續的資料保護、負載均衡以及容量管理。
GFS不是未來。但是它給我們提供了未來的一種可能。