常見分布式文件存儲(chǔ)介紹财松、選型比較、架構(gòu)設(shè)計(jì)

一纱控、分布式文件存儲(chǔ)的來源

在這個(gè)數(shù)據(jù)爆炸的時(shí)代辆毡,產(chǎn)生的數(shù)據(jù)量不斷地在攀升,從GB,TB,PB,ZB.挖掘其中數(shù)據(jù)的價(jià)值也是企業(yè)在不斷地追求的終極目標(biāo)甜害。但是要想對(duì)海量的數(shù)據(jù)進(jìn)行挖掘舶掖,首先要考慮的就是海量數(shù)據(jù)的存儲(chǔ)問題,比如Tb量級(jí)的數(shù)據(jù)尔店。

談到數(shù)據(jù)的存儲(chǔ)眨攘,則不得不說的是磁盤的數(shù)據(jù)讀寫速度問題。早在上個(gè)世紀(jì)90年代初期嚣州,普通硬盤的可以存儲(chǔ)的容量大概是1G左右鲫售,硬盤的讀取速度大概為4.4MB/s.讀取一張硬盤大概需要5分鐘時(shí)間,但是如今硬盤的容量都在1TB左右了,相比擴(kuò)展了近千倍避诽。但是硬盤的讀取速度大概是100MB/s龟虎。讀完一個(gè)硬盤所需要的時(shí)間大概是2.5個(gè)小時(shí)。所以如果是基于TB級(jí)別的數(shù)據(jù)進(jìn)行分析的話沙庐,光硬盤讀取完數(shù)據(jù)都要好幾天了鲤妥,更談不上計(jì)算分析了。那么該如何處理大數(shù)據(jù)的存儲(chǔ)拱雏,計(jì)算分析呢棉安?

二、 常用的分布式文件存儲(chǔ)

常見的分布式文件系統(tǒng)

GFS铸抑、HDFS贡耽、Lustre 、Ceph 鹊汛、GridFS 蒲赂、mogileFS、TFS刁憋、FastDFS等滥嘴。各自適用于不同的領(lǐng)域。它們都不是系統(tǒng)級(jí)的分布式文件系統(tǒng)至耻,而是應(yīng)用級(jí)的分布式文件存 儲(chǔ)服務(wù)若皱。

分布式文件存儲(chǔ)選型比較

知名開源分布式文件存儲(chǔ)

1.GFS(Google File System)

Google公司為了滿足本公司需求而開發(fā)的基于Linux的專有分布式文件系統(tǒng)镊叁。盡管Google公布了該系統(tǒng)的一些技術(shù)細(xì)節(jié),但Google并沒有將該系統(tǒng)的軟件部分作為開源軟件發(fā)布走触。

2.HDFS

Hadoop 實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System)晦譬,簡(jiǎn)稱HDFS。 Hadoop是Apache Lucene創(chuàng)始人Doug Cutting開發(fā)的使用廣泛的文本搜索庫互广。它起源于Apache Nutch敛腌,

后者是一個(gè)開源的網(wǎng)絡(luò)搜索引擎,本身也是Luene項(xiàng)目的一部分惫皱。Aapche Hadoop架構(gòu)是MapReduce算法的一種開源應(yīng)用迎瞧,是Google開創(chuàng)其帝國(guó)的重要基石。

3.TFS

TFS(Taobao FileSystem)是一個(gè)高可擴(kuò)展逸吵、高可用凶硅、高性能、面向互聯(lián)網(wǎng)服務(wù)的分布式文件系統(tǒng)扫皱,主要針對(duì)海量的非結(jié)構(gòu)化數(shù)據(jù)足绅,它構(gòu)筑在普通的Linux機(jī)器 集群上,可為外部提供高可靠

和高并發(fā)的存儲(chǔ)訪問韩脑。TFS為淘寶提供海量小文件存儲(chǔ)氢妈,通常文件大小不超過1M,滿足了淘寶對(duì)小文件存儲(chǔ)的需求段多,被廣泛地應(yīng)用 在淘寶各項(xiàng)應(yīng)用中首量。它采用了HA架構(gòu)和平滑擴(kuò)容,保證了整個(gè)文件系統(tǒng)的可用性和擴(kuò)展性进苍。同時(shí)扁平化的數(shù)據(jù)組織結(jié)構(gòu)加缘,可將文件名映射到文件的物理地址,簡(jiǎn)化 了文件的訪問流程觉啊,一定程度上為TFS提供了良好的讀寫性能拣宏。

Google學(xué)術(shù)論文,這是眾多分布式文件系統(tǒng)的起源杠人,HDFS和TFS都是參考Google的GFS設(shè)計(jì)出來的勋乾。

三、 典型的分布式文件存儲(chǔ)的架構(gòu)設(shè)計(jì)

以hadoop的HDFS為例嗡善,畢竟開源的分布式文件存儲(chǔ)使用的最多辑莫。

Hadoop分布式文件系統(tǒng)(HDFS)被設(shè)計(jì)成適合運(yùn)行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)。HDFS是一個(gè)高度容錯(cuò)性的系統(tǒng)罩引,適合部署在廉價(jià)的機(jī)器上各吨。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用蜒程。HDFS放寬了一部分POSIX約束绅你,來實(shí)現(xiàn)流式讀取文件系統(tǒng)數(shù)據(jù)的目的。

大規(guī)模數(shù)據(jù)集

運(yùn)行在HDFS上的應(yīng)用具有很大的數(shù)據(jù)集昭躺。HDFS上的一個(gè)典型文件大小一般都在G字節(jié)至T字節(jié)忌锯。因此,HDFS被調(diào)節(jié)以支持大文件存儲(chǔ)领炫。它應(yīng)該能提供整體上高的數(shù)據(jù)傳輸帶寬偶垮,能在一個(gè)集群里擴(kuò)展到數(shù)百個(gè)節(jié)點(diǎn)。一個(gè)單一的HDFS實(shí)例應(yīng)該能支撐數(shù)以千萬計(jì)的文件帝洪。

簡(jiǎn)單的一致性模型

HDFS應(yīng)用需要一個(gè)“一次寫入多次讀取”的文件訪問模型似舵。一個(gè)文件經(jīng)過創(chuàng)建、寫入和關(guān)閉之后就不需要改變葱峡。這一假設(shè)簡(jiǎn)化了數(shù)據(jù)一致性問題砚哗,并且使高吞吐量的數(shù)據(jù)訪問成為可能。Map/Reduce應(yīng)用或者網(wǎng)絡(luò)爬蟲應(yīng)用都非常適合這個(gè)模型砰奕。目前還有計(jì)劃在將來擴(kuò)充這個(gè)模型蛛芥,使之支持文件的附加寫操作。

異構(gòu)軟硬件平臺(tái)間的可移植性

HDFS在設(shè)計(jì)的時(shí)候就考慮到平臺(tái)的可移植性军援。這種特性方便了HDFS作為大規(guī)模數(shù)據(jù)應(yīng)用平臺(tái)的推廣仅淑。

Namenode 和 Datanode

HDFS采用master/slave架構(gòu)。一個(gè)HDFS集群是由一個(gè)Namenode和一定數(shù)目的Datanodes組成胸哥。

Namenode是一個(gè)中心服務(wù)器涯竟,負(fù)責(zé)管理文件系統(tǒng)的名字空間(namespace)以及客戶端對(duì)文件的訪問。

集群中的Datanode一般是一個(gè)節(jié)點(diǎn)一個(gè)空厌,負(fù)責(zé)管理它所在節(jié)點(diǎn)上的存儲(chǔ)庐船。HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲(chǔ)數(shù)據(jù)嘲更。從內(nèi)部看醉鳖,一個(gè)文件其實(shí)被分成一個(gè)或多個(gè)數(shù)據(jù)塊,這些塊存儲(chǔ)在一組Datanode上哮内。

Namenode執(zhí)行文件系統(tǒng)的名字空間操作盗棵,比如打開、關(guān)閉北发、重命名文件或目錄纹因。它也負(fù)責(zé)確定數(shù)據(jù)塊到具體Datanode節(jié)點(diǎn)的映射。Datanode負(fù)責(zé)處理文件系統(tǒng)客戶端的讀寫請(qǐng)求琳拨。在Namenode的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建瞭恰、刪除和復(fù)制。


Namenode和Datanode被設(shè)計(jì)成可以在普通的商用機(jī)器上運(yùn)行狱庇。這些機(jī)器一般運(yùn)行著GNU/Linux操作系統(tǒng)(OS)惊畏。HDFS采用Java語言開發(fā)恶耽,因此任何支持Java的機(jī)器都可以部署Namenode或Datanode。由于采用了可移植性極強(qiáng)的Java語言颜启,使得HDFS可以部署到多種類型的機(jī)器上偷俭。一個(gè)典型的部署場(chǎng)景是一臺(tái)機(jī)器上只運(yùn)行一個(gè)Namenode實(shí)例,而集群中的其它機(jī)器分別運(yùn)行一個(gè)Datanode實(shí)例缰盏。這種架構(gòu)并不排斥在一臺(tái)機(jī)器上運(yùn)行多個(gè)Datanode涌萤,只不過這樣的情況比較少見。

四口猜、分布式存儲(chǔ)的未來

隨著現(xiàn)代社會(huì)從工業(yè)時(shí)代過渡到信息時(shí)代负溪,信息技術(shù)的發(fā)展以及人類生活的智能化帶來數(shù)據(jù)的爆炸性增長(zhǎng),數(shù)據(jù)正成為世界上最有價(jià)值的資源济炎。

根據(jù)物理存儲(chǔ)形態(tài)川抡,數(shù)據(jù)存儲(chǔ)可分為集中式存儲(chǔ)與分布式存儲(chǔ)兩種。集中式存儲(chǔ)以傳統(tǒng)存儲(chǔ)陣列(傳統(tǒng)存儲(chǔ))為主须尚,分布式存儲(chǔ)(云存儲(chǔ))以軟件定義存儲(chǔ)為主猖腕。

傳統(tǒng)存儲(chǔ)一向以可靠性高、穩(wěn)定性好恨闪,功能豐富而著稱倘感,但與此同時(shí),傳統(tǒng)存儲(chǔ)也暴露出橫向擴(kuò)展性差咙咽、價(jià)格昂貴老玛、數(shù)據(jù)連通困難等不足,容易形成數(shù)據(jù)孤島钧敞,導(dǎo)致數(shù)據(jù)中心管理和維護(hù)成本居高不下蜡豹。

分布式存儲(chǔ):將數(shù)據(jù)分散存儲(chǔ)在網(wǎng)絡(luò)上的多臺(tái)獨(dú)立設(shè)備上,一般采用標(biāo)準(zhǔn)x86服務(wù)器和網(wǎng)絡(luò)互聯(lián)溉苛,并在其上運(yùn)行相關(guān)存儲(chǔ)軟件镜廉,系統(tǒng)對(duì)外作為一個(gè)整體提供存儲(chǔ)服務(wù)。愚战。

總之娇唯,分布式文件存儲(chǔ),不僅提高了存儲(chǔ)空間的利用率寂玲,還實(shí)現(xiàn)了彈性擴(kuò)展塔插,降低了運(yùn)營(yíng)成本,避免了資源浪費(fèi)拓哟,更適合未來的數(shù)據(jù)爆炸時(shí)代場(chǎng)景想许。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子流纹,更是在濱河造成了極大的恐慌糜烹,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漱凝,死亡現(xiàn)場(chǎng)離奇詭異疮蹦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)碉哑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亮蒋,“玉大人扣典,你說我怎么就攤上這事∩骶粒” “怎么了贮尖?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)趁怔。 經(jīng)常有香客問我湿硝,道長(zhǎng),這世上最難降的妖魔是什么润努? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任关斜,我火速辦了婚禮,結(jié)果婚禮上铺浇,老公的妹妹穿的比我還像新娘痢畜。我一直安慰自己,他們只是感情好鳍侣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布丁稀。 她就那樣靜靜地躺著,像睡著了一般倚聚。 火紅的嫁衣襯著肌膚如雪线衫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天惑折,我揣著相機(jī)與錄音授账,去河邊找鬼。 笑死惨驶,一個(gè)胖子當(dāng)著我的面吹牛矗积,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播敞咧,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼棘捣,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乍恐,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤评疗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后茵烈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體百匆,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年呜投,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了加匈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仑荐,死狀恐怖雕拼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粘招,我是刑警寧澤啥寇,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站洒扎,受9級(jí)特大地震影響辑甜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜袍冷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一磷醋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧胡诗,春花似錦子檀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至症虑,卻和暖如春缩歪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谍憔。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工匪蝙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人习贫。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓逛球,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親苫昌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子颤绕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354