成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大數(shù)據(jù)那些事(2):三駕馬車之永垂不朽的GFS

大數(shù)據(jù) 數(shù)據(jù)分析
但凡是要開始講大數(shù)據(jù)的,都繞不開最初的Google三駕馬車:Google File System(GFS), MapReduce,BigTable。如果我們拉長時間軸到20年為一個周期來看呢,這三駕馬車到今天的影響力其實已然不同。

 

[[174344]]

 

但凡是要開始講大數(shù)據(jù)的,都繞不開最初的Google三駕馬車:Google File System(GFS), MapReduce,BigTable。如果我們拉長時間軸到20年為一個周期來看呢,這三駕馬車到今天的影響力其實已然不同。

MapReduce作為一個有很多優(yōu)點又有很多缺點的東西來說,很大程度上影響力已經(jīng)釋微了。BigTable以及以此為代表的各種KeyValue Store還有著它的市場,但是在Google內(nèi)部Spanner作為下一代的產(chǎn)品,也在很大程度上開始取代各種各樣的的BigTable的應(yīng)用。而作為這一切的基礎(chǔ)的Google File System,不但沒有任何倒臺的跡象,還在不斷的演化,事實上支撐著Google這個龐大的互聯(lián)網(wǎng)公司的一切計算。

作為開源最為成功的Hadoop Ecosystem來說,這么多年來風(fēng)起云涌,很多東西都在變。但是HDFS的地位卻始終很牢固。盡管各大云計算廠商都基于了自己的存儲系統(tǒng)實現(xiàn)了HDFS的接口,但是這個文件系統(tǒng)的基本理念至今并無太多改變。

那么GFS到底是什么呢?簡單一點來說它是一個文件系統(tǒng),類似我們的NTFS或者EXT3,只是這個文件系統(tǒng)是建立在一堆的計算機(jī)的集群之上,用來存儲海量數(shù)據(jù)的。一般來說,對文件系統(tǒng)的操作無非是讀或者寫,而寫通常又被細(xì)分成update和append。Update是對已有數(shù)據(jù)的更新,而append則是在文件的末尾增加新的數(shù)據(jù)。

Google File System的論文發(fā)表于2003年,那個時候Google已經(jīng)可以讓這個文件系統(tǒng)穩(wěn)定的運行在幾千臺機(jī)器上,那么今天在我看來穩(wěn)定的運行在幾萬臺機(jī)器上并非是什么問題。這是非常了不起的成就,也是Hadoop的文件系統(tǒng)至今無非達(dá)到的高度。

GFS的設(shè)計理念上做了兩個非常重要的假設(shè),其一是這個文件系統(tǒng)只處理大文件,一般來說要以TB或者PB作為級別去處理。其二是這個文件系統(tǒng)不支持update只支持append。在這兩個假設(shè)的基礎(chǔ)上,文件系統(tǒng)進(jìn)一步假設(shè)可以把大文件切成若干個chunk,本文上面的圖大致上給了GFS的一個基本體系框架的解釋。

Chunk server是GFS的主體,它們存在的目的是為了保存各種各樣的chunk。這些chunk代表了不同文件的不同部分。為了保證文件的完整性不受到機(jī)器下崗的影響,通常來說這些chunk都有冗余,這個冗余標(biāo)準(zhǔn)的來說是3份。有過各種分析證明這個三份是多么的安全。

在我曾經(jīng)工作的微軟的文件系統(tǒng)實現(xiàn)里面也用過三份這樣的冗余。結(jié)果有一次data center的電源出問題,導(dǎo)致一個集裝箱的機(jī)器整個的失聯(lián)(微軟的數(shù)據(jù)中心采用了非常獨特的集裝箱設(shè)計)。有一些文件的兩個或者三個拷貝都在那個集裝箱對應(yīng)的機(jī)器上,可以想象,這也同樣導(dǎo)致了整個系統(tǒng)的不可用。所以對于這三個拷貝要放哪里怎么去放其實是GFS里比較有意思的一個問題。我相信Google一定是經(jīng)過了很多的研究。

除了保存實際數(shù)據(jù)的chunk server以外,我們還需要metadata manager,在GFS里面這個東西就是master了。按照最初的論文來說,master是一個GFS里面唯一的。當(dāng)然后續(xù)有些資料里有提到GFS V2的相關(guān)信息表明這個single point bottleneck 在Google的系統(tǒng)演進(jìn)中得到了解決。Master說白了就是記錄了各個文件的不同chunk以及它們的各自拷貝在不同chunk server上的區(qū)別。

Master的重要性不言而喻。沒有了metadata的文件系統(tǒng)就是一團(tuán)亂麻。Google的實現(xiàn)實際上用了一個Paxos協(xié)議,倘若我的理解是正確的話。Paxos是Lamport提出來的用來解決在不穩(wěn)定網(wǎng)絡(luò)里面的consensus的一個協(xié)議。協(xié)議本身并不難懂,但是論文的證明需要有些耐心。

當(dāng)然最重要的,我自己從來沒有實現(xiàn)過這個協(xié)議。但是就我能看到的周圍實現(xiàn)過的人來說,這個東西很坑爹。Paxos干的事情是在2N+1臺機(jī)器里保持N的冗余。簡單一點說,掛掉N臺機(jī)器這個metadata service依然可以使用。

協(xié)議會選出一個master服務(wù),而其他的則作為shadow server存在。一旦master掛了大家會重新投票。這個協(xié)議很好的解決了High Availability的問題。很不幸的是,抄襲的Hadoop 文件系統(tǒng)使用的是一個完全不同的方案。這個我們在講到Hadoop的時候再說。

對GFS的訪問通過client,讀的操作里,client會從master那邊拿回相應(yīng)的chunk server,數(shù)據(jù)的傳輸則通過chunk server和client之間進(jìn)行。不會因此影響了master的性能。而寫的操作則需要確保所有的primary以及secondary都寫完以后才返回client。如果寫失敗,則會有一系列的retry,實在不行則這些chunk會被標(biāo)注成garbage,然后被garbage collection。

Master和chunk server之間會保持通信,master保持著每個chunk的三個copy的實際位置。當(dāng)有的機(jī)器掉線之后,master如果有必要也會在其他的機(jī)器上觸發(fā)額外的copy活動以確保冗余,保證文件系統(tǒng)的安全。

GFS的設(shè)計非常的值得學(xué)習(xí)。系統(tǒng)支持的目標(biāo)文件以及文件的操作非常的明確而簡單。對待大規(guī)模不穩(wěn)定的PC機(jī)構(gòu)成的data center上怎么樣建立一個穩(wěn)定的系統(tǒng),對data使用了復(fù)制,而對metadata則用了Paxos這樣的算法的實現(xiàn)。這個文件系統(tǒng)體現(xiàn)了相當(dāng)高水準(zhǔn)的系統(tǒng)設(shè)計里對方方面面trade off的選擇。有些東西只有自己做過或者就近看人做過才能真正感受到這系統(tǒng)設(shè)計的博大精深。故而對我個人而言,我對GFS的論文一直是非常的推崇,我覺得這篇論文值得每個做系統(tǒng)的人反復(fù)的讀。

同系列之:

大數(shù)據(jù)的那些事(1):Google的后悔藥

大數(shù)據(jù)的那些事(3):三駕馬車之坑人的MapReduce

責(zé)任編輯:趙寧寧 來源: 36大數(shù)據(jù)
相關(guān)推薦

2016-10-24 22:57:05

2022-03-28 15:09:17

無線傳感器網(wǎng)絡(luò)Harmony鴻蒙

2011-09-20 09:50:21

英特爾云計算開放

2025-04-29 09:09:32

2017-04-06 09:35:10

大數(shù)據(jù)SparkSQLSpark

2020-04-20 14:40:07

KyribaSaaS

2018-01-04 13:29:13

租房租房網(wǎng)站安全

2014-04-18 10:58:45

2020-11-15 19:42:36

人工智能AI

2025-04-15 08:44:43

2016-10-24 22:41:06

大數(shù)據(jù)Google

2013-06-14 16:17:28

企業(yè)電商

2021-03-25 19:53:43

亞馬遜云科技

2018-10-25 14:08:40

微軟AzureOffice 365

2015-08-27 17:08:46

大數(shù)據(jù)

2016-10-27 14:28:59

Hadoop系統(tǒng)大數(shù)據(jù)

2022-10-26 09:57:52

VectorRustC++

2011-09-15 17:26:51

工作站行情

2021-12-26 18:20:03

架構(gòu)Flink設(shè)計

2013-09-23 09:52:22

云計算大數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品福利在线 | 99久久精品免费看国产四区 | 国产伦精品一区二区三区精品视频 | 午夜免费视频 | 久久精品小视频 | 久久久久久久亚洲精品 | 国产美女视频一区 | av av在线 | 成人av大全| 亚洲精品黄色 | 久久精点视频 | 亚洲夜射 | 亚洲欧美综合精品另类天天更新 | 亚洲国产中文字幕 | 国产98色在线 | 日韩 | 在线一级片 | 欧美一区二区三区在线播放 | 九九热免费视频在线观看 | 国产欧美一区二区三区在线看 | 久久亚洲一区 | 精品一区二区观看 | av在线播放一区二区 | 久久久国 | 精品久久久久久久人人人人传媒 | 久草视 | 视频在线一区二区 | 国产精彩视频 | 欧美日韩专区 | 欧美日本亚洲 | 午夜精品久久久久99蜜 | 精品在线一区二区 | 91精品国产手机 | 天天激情综合 | 黑人粗黑大躁护士 | 国产精品日日摸夜夜添夜夜av | 欧美在线综合 | 亚洲免费高清 | 黄色在线免费看 | 国产午夜av片| 午夜视频网站 | 嫩草影院黄|