Google擁有全球最強(qiáng)大的搜索引擎。除了搜索業(yè)務(wù),Google還有Google Maps、Google Earth、Gmail、YouTube等其他業(yè)務(wù)。這些應(yīng)用的共性在于數(shù)據(jù)量巨大,且要面向全球用戶提供實(shí)時(shí)服務(wù),因此Google必須解決海量數(shù)據(jù)存儲(chǔ)和快速處理問題。
Google研發(fā)出了簡單而又高效的技術(shù),讓多達(dá)百萬臺的廉價(jià)計(jì)算機(jī)協(xié)同工作,共同完成這些任務(wù),這些技術(shù)在誕生幾年后才被命名為Google云計(jì)算技術(shù)。Google云計(jì)算技術(shù)包括: Google文件系統(tǒng)GFS、分布式計(jì)算編程模型MapReduce、分布式鎖服務(wù)Chubby、分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable、分布式存儲(chǔ)系統(tǒng)Megastore以及分布式監(jiān)控系統(tǒng)Dapper等。其中,GFS提供了海量數(shù)據(jù)的存儲(chǔ)和訪問的能力,MapReduce使得海量信息的并行處理變得簡單易行,Chubby保證了分布式環(huán)境下并發(fā)操作的同步問題, Bigtable使得海量數(shù)據(jù)的管理和組織十分方便,構(gòu)建在Bigtable之上的Megastore則實(shí)現(xiàn)了關(guān)系型數(shù)據(jù)庫和NoSQL之間的巧妙融合,Dapper能夠全方位的監(jiān)控整個(gè)Google云計(jì)算平臺的運(yùn)行狀況。本章詳細(xì)介紹這六種核心技術(shù)和Google應(yīng)用程序引擎。
Google研發(fā)出了簡單而又高效的技術(shù),讓多達(dá)百萬臺的廉價(jià)計(jì)算機(jī)協(xié)同工作,共同完成這些任務(wù),這些技術(shù)在誕生幾年后才被命名為Google云計(jì)算技術(shù)。Google云計(jì)算技術(shù)包括: Google文件系統(tǒng)GFS、分布式計(jì)算編程模型MapReduce、分布式鎖服務(wù)Chubby、分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable、分布式存儲(chǔ)系統(tǒng)Megastore以及分布式監(jiān)控系統(tǒng)Dapper等。其中,GFS提供了海量數(shù)據(jù)的存儲(chǔ)和訪問的能力,MapReduce使得海量信息的并行處理變得簡單易行,Chubby保證了分布式環(huán)境下并發(fā)操作的同步問題, Bigtable使得海量數(shù)據(jù)的管理和組織十分方便,構(gòu)建在Bigtable之上的Megastore則實(shí)現(xiàn)了關(guān)系型數(shù)據(jù)庫和NoSQL之間的巧妙融合,Dapper能夠全方位的監(jiān)控整個(gè)Google云計(jì)算平臺的運(yùn)行狀況。本章詳細(xì)介紹這六種核心技術(shù)和Google應(yīng)用程序引擎。
Google文件系統(tǒng)GFS
Google文件系統(tǒng)(Google File System,GFS)是一個(gè)大型的分布式文件系統(tǒng)。它為Google云計(jì)算提供海量存儲(chǔ),并且與Chubby、MapReduce及Bigtable等技術(shù)結(jié)合十分緊密,處于所有核心技術(shù)的底層。GFS不是一個(gè)開源的系統(tǒng),我們僅能從Google公布的技術(shù)文檔來獲得相關(guān)知識。文獻(xiàn)是Google公布的關(guān)于GFS的最為詳盡的技術(shù)文檔,它從GFS產(chǎn)生的背景、特點(diǎn)、系統(tǒng)框架、性能測試等方面進(jìn)行了詳細(xì)的闡述。
當(dāng)前主流分布式文件系統(tǒng)有RedHat的GFS(Global File System)、IBM的GPFS、 Sun的Lustre等。這些系統(tǒng)通常用于高性能計(jì)算或大型數(shù)據(jù)中心,對硬件設(shè)施條件要求較高。以Lustre文件系統(tǒng)為例,它只對元數(shù)據(jù)管理器MDS提供容錯(cuò)解決方案,而對于具體的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)OST來說,則依賴其自身來解決容錯(cuò)的問題。例如,Lustre推薦OST節(jié)點(diǎn)采用RAID技術(shù)或SAN存儲(chǔ)區(qū)域網(wǎng)來容錯(cuò),但由于Lustre自身不能提供數(shù)據(jù)存儲(chǔ)的容錯(cuò),一旦OST發(fā)生故障就無法恢復(fù),因此對OST的穩(wěn)定性就提出了相當(dāng)高的要求,從而大大增加了存儲(chǔ)的成本,而且成本會(huì)隨著規(guī)模的擴(kuò)大線性增長。
正如李開復(fù)所說的那樣,創(chuàng)新固然重要,但有用的創(chuàng)新更重要。創(chuàng)新的價(jià)值,取決于一項(xiàng)創(chuàng)新在新穎、有用和可行性這三個(gè)方面的綜合表現(xiàn)。Google GFS的新穎之處在于它采用廉價(jià)的商用機(jī)器構(gòu)建分布式文件系統(tǒng),同時(shí)將GFS的設(shè)計(jì)與Google應(yīng)用的特點(diǎn)緊密結(jié)合,簡化實(shí)現(xiàn),使之可行,最終達(dá)到創(chuàng)意新穎、有用、可行的完美組合。GFS將容錯(cuò)的任務(wù)交給文件系統(tǒng)完成,利用軟件的方法解決系統(tǒng)可靠性問題,使存儲(chǔ)的成本成倍下降。 GFS將服務(wù)器故障視為正常現(xiàn)象,并采用多種方法,從多個(gè)角度,使用不同的容錯(cuò)措施,確保數(shù)據(jù)存儲(chǔ)的安全、保證提供不間斷的數(shù)據(jù)存儲(chǔ)服務(wù)。