看google三篇论文的感触
? ? ? ? ?? 剛開(kāi)始看老師推薦的三篇Google的技術(shù)論文(分別是GFS,Mapreduce,Bigtable)時(shí),基本上是云里霧里,摸不著頭尾。于是我結(jié)合網(wǎng)上查詢的資料,對(duì)于這些論文講述的一些知識(shí)有了一定的了解。最后,我不得不佩服谷歌的開(kāi)發(fā)人員,佩服他們的思維,佩服他們的邏輯,佩服他們的智慧。其中,最感興趣的便是Google文件系統(tǒng)的產(chǎn)生。
Google文件系統(tǒng)(GFS):
? ? ?? Google文件系統(tǒng)(GFS)是由 Google Inc.創(chuàng)建的可擴(kuò)展分布式文件系統(tǒng)(DFS),旨在滿足 Google 不斷擴(kuò)展的數(shù)據(jù)處理要求。 GFS 為大型網(wǎng)絡(luò)和連接節(jié)點(diǎn)提供容錯(cuò),可靠性,可擴(kuò)展性,可用性和性能。
GFS 由幾個(gè)由低成本商用硬件組件構(gòu)建的存儲(chǔ)系統(tǒng)組成。它經(jīng)過(guò)優(yōu)化,可以滿足谷歌不同的數(shù)據(jù)使用和存儲(chǔ)需求,例如搜索引擎,它可以生成大量必須存儲(chǔ)的數(shù)據(jù)。谷歌文件系統(tǒng)充分利用了現(xiàn)成的優(yōu)勢(shì)服務(wù)器同時(shí)最大限度地減少了硬件缺陷。
GFS 也稱為 GoogleFS。
GFS 節(jié)點(diǎn)集群是一個(gè)擁有多個(gè)塊服務(wù)器的主服務(wù)器不斷的客戶端系統(tǒng)不斷訪問(wèn)。塊服務(wù)器將數(shù)據(jù)作為 Linux 文件存儲(chǔ)在本地磁盤(pán)上。存儲(chǔ)的數(shù)據(jù)分為大塊(64 MB),這些塊在網(wǎng)絡(luò)中至少?gòu)?fù)制三次。大塊大小減少了網(wǎng)絡(luò)開(kāi)銷(xiāo)。
GFS 旨在滿足 Google 的大型集群需求,而不會(huì)給應(yīng)用程序帶來(lái)負(fù)擔(dān)。文件存儲(chǔ)在由路徑名標(biāo)識(shí)的分層目錄中。元數(shù)據(jù) – 例如命名空間,訪問(wèn)控制數(shù)據(jù)和映射信息 – 由主控制器控制,主控制器通過(guò)定時(shí)心跳消息與每個(gè)塊服務(wù)器的狀態(tài)更新進(jìn)行交互并監(jiān)視它們的狀態(tài)更新。
GFS 功能包括:
最大的 GFS 集群擁有 1,000 多個(gè)節(jié)點(diǎn),300 TB 磁盤(pán)存儲(chǔ)容量。數(shù)百名客戶可以連續(xù)訪問(wèn)。
Google MapReduce:
Google在2003年和2004年提出一篇論文,面向大數(shù)據(jù)的并行處理的框架模型--MapReduce.
單個(gè)計(jì)算機(jī)無(wú)論再好的設(shè)備處理能力終究有限,而MapReduce通過(guò)簡(jiǎn)單的接口來(lái)實(shí)現(xiàn)自動(dòng)的并行化和大規(guī)模的分布式計(jì)算,在大量普通的PC機(jī)上實(shí)現(xiàn)高性能運(yùn)算,他可以很簡(jiǎn)單粗暴的通過(guò)不斷增加pc機(jī)數(shù)目來(lái)提高性能.將此難題迎刃而解,同時(shí)促進(jìn)了大數(shù)據(jù)時(shí)代的到來(lái)MapReduce的主要思想概括說(shuō)來(lái)就是四個(gè)字,”化整為零”,通過(guò)Map(映射)和Reduce(規(guī)約)來(lái)實(shí)現(xiàn).面對(duì)一個(gè)復(fù)雜的問(wèn)題,將其分解成若干個(gè)map任務(wù)和reduce任務(wù),一個(gè)map任務(wù)即所一個(gè)復(fù)雜問(wèn)題分解的一個(gè)小問(wèn)題,reduce任務(wù)即將所有已解決的map任務(wù)總結(jié)匯總最后得出該復(fù)雜問(wèn)題的答案.而這些一個(gè)任務(wù)的承擔(dān)者即是一臺(tái)普通的pc機(jī),叫他worker,執(zhí)行map任務(wù)的叫map worker,當(dāng)然執(zhí)行reduce任務(wù)的就叫reduce worker了.那么這些任務(wù)由誰(shuí)來(lái)分配?也是這些pc機(jī)中的一臺(tái),他叫做master,他的任務(wù)就像他的名字一樣,解決這個(gè)問(wèn)題不是他的事兒,他負(fù)責(zé)分配任務(wù)下去,同時(shí)管理好這些這些map worker和reduce worker,每一個(gè)worker的詳細(xì)信息都在他的數(shù)據(jù)內(nèi).由于一個(gè)問(wèn)題是由成百上千的機(jī)器集群來(lái)解決的,如果其中一臺(tái)機(jī)器故障怎么辦?Worker故障就由master再集群中再選一個(gè)空閑狀態(tài)的機(jī)器出來(lái)代替他.
?
Google?Bigtable:
Bigtable是一個(gè)為管理大規(guī)模結(jié)構(gòu)化數(shù)據(jù)而設(shè)計(jì)的分布式存儲(chǔ)系統(tǒng),可以擴(kuò)展到PB級(jí)數(shù)據(jù)和上千臺(tái)服務(wù)器。很多google的項(xiàng)目使用Bigtable存儲(chǔ)數(shù)據(jù),這些應(yīng)用對(duì)Bigtable提出了不同的挑戰(zhàn),比如數(shù)據(jù)規(guī)模的要求、延遲的要求。Bigtable能滿足這些多變的要求,為這些產(chǎn)品成功地提供了靈活、高性能的存儲(chǔ)解決方案。
Bigtable看起來(lái)像一個(gè)數(shù)據(jù)庫(kù),采用了很多數(shù)據(jù)庫(kù)的實(shí)現(xiàn)策略。但是Bigtable并不支持完整的關(guān)系型數(shù)據(jù)模型;而是為客戶端提供了一種簡(jiǎn)單的數(shù)據(jù)模型,客戶端可以動(dòng)態(tài)地控制數(shù)據(jù)的布局和格式,并且利用底層數(shù)據(jù)存儲(chǔ)的局部性特征。Bigtable將數(shù)據(jù)統(tǒng)統(tǒng)看成無(wú)意義的字節(jié)串,客戶端需要將結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)串行化再存入Bigtable
以上就是通過(guò)閱讀google三篇論文所了解到的知識(shí)與感悟
?
?
總結(jié)
以上是生活随笔為你收集整理的看google三篇论文的感触的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python的应用领域和常用函数模块有哪
- 下一篇: python 密码学计算_python