設(shè)計(jì)前提與目標(biāo)
HDFS的設(shè)計(jì)前提與目標(biāo)如下。
(1)硬件錯(cuò)誤是常態(tài)而不是異常。HDFS被設(shè)計(jì)為運(yùn)行在普通硬件上,所以硬件故障是很正常的。HDFS可能由成百上千的服務(wù)器構(gòu)成,每個(gè)服務(wù)器上都存儲(chǔ)著文件系統(tǒng)的部分?jǐn)?shù)據(jù),而HDFS的每個(gè)組件隨時(shí)都有可能出現(xiàn)故障。因此,錯(cuò)誤檢測(cè)并快速自動(dòng)恢復(fù)是HDFS的最核心設(shè)計(jì)目標(biāo)。
(2)流式數(shù)據(jù)訪問。運(yùn)行在HDFS上的應(yīng)用主要是以流式讀為主,做批量處理;更注重?cái)?shù)據(jù)訪問的髙吞吐量。
(3)超大規(guī)模數(shù)據(jù)集。HDFS的一般企業(yè)級(jí)的文件大小可能都在TB級(jí)甚至PB級(jí),支持大文件存儲(chǔ),而且提供整體上髙的數(shù)據(jù)傳輸帶寬,一個(gè)單一的HDFS實(shí)例應(yīng)該能支撐數(shù)以千萬(wàn)計(jì)的文件,并且能在一個(gè)集群里擴(kuò)展到數(shù)百個(gè)節(jié)點(diǎn)。
(4)簡(jiǎn)單一致性模型。HDFS的應(yīng)用程序一般對(duì)文件實(shí)行一次性寫、多次讀的訪問模式。文件一旦創(chuàng)建、寫入和關(guān)閉之后就不需要再更改了。這樣就簡(jiǎn)化了數(shù)據(jù)一致性問題,髙吞吐量的數(shù)據(jù)訪問才成為可能。
(5)移動(dòng)計(jì)算比移動(dòng)數(shù)據(jù)更簡(jiǎn)單。對(duì)于大文件來(lái)說(shuō),移動(dòng)數(shù)據(jù)比移動(dòng)計(jì)算的代價(jià)要高。操作海量數(shù)據(jù)時(shí)效果越加明顯,這樣可以提高系統(tǒng)的吞吐量和減少網(wǎng)絡(luò)的擁塞。
(6)異構(gòu)軟硬件平臺(tái)間的可移植性。這種特性便于HDFS作為大規(guī)模數(shù)據(jù)應(yīng)用平臺(tái)的推廣。