hdfs(分布式文件系統)
優點
支持超大文件
支持超大文件。超大文件在這里指的是幾百M,幾百GB,甚至幾TB大小的文件。一般來說hadoop的文件系統會存儲TB級別或者PB級別的數據。所以在企業的應用中,數據節點有可能有上千個。
檢測和快速應對硬件故障
在集群的環境中,硬件故障是常見的問題。因為有上千台服務器連接在一起,這樣會導致高故障率。因此故障檢測和自動恢復是hdfs文件系統的一個設計目標。
流式數據訪問
Hdfs的數據處理規模比較大,應用一次需要訪問大量的數據,同時這些應用一般都是批量處理,而不是用戶交互式處理。應用程序能以流的形式訪問數據集。主要的是數據的吞吐量,而不是訪問速度。
簡化的一致性模型
大部分hdfs操作文件時,需要一次寫入,多次讀取。在hdfs中,一個文件一旦經過創建、寫入、關閉后,一般就不需要修改了。這樣簡單的一致性模型,有利於提高吞吐量。
缺點
低延遲數據訪問
低延遲數據。如和用戶進行交互的應用,需要數據在毫秒或秒的范圍內得到響應。由於hadoop針對高數據吞吐量做了優化,犧牲了獲取數據的延遲,所以對於低延遲來說,不適合用hadoop來做。
大量的小文件
Hdfs支持超大的文件,是通過數據分布在數據節點,數據的元數據保存在名字節點上。名字節點的內存大小,決定了hdfs文件系統可保存的文件數量。雖然現在的系統內存都比較大,但大量的小文件還是會影響名字節點的性能。
多用戶寫入文件、修改文件
Hdfs的文件只能有一次寫入,不支持寫入,也不支持修改。只有這樣數據的吞吐量才能大。
不支持超強的事務
沒有像關系型數據庫那樣,對事務有強有力的支持。
