HDFS的優缺點


HDFS是一個分布式文件存儲系統,前身來自於Google發布的大數據三駕馬車之一GFS (Google File System)。

HDFS的優點:

1、高容錯

hdfs具有很高的容錯性,數據自動保存為多個副本,默認為三副本機制,還能夠通過自己自定義副本數來提高容錯性。

當某個節點的副本丟失后,可以通過其他的備份副本進行恢復。

2、塊存儲

hdfs中的文件是以塊的形式進行存儲的,hadoop2.x后的版本默認為128m為一塊。

128m為一塊是由最佳傳輸損耗原理來得到的數字,當一個文件大小為128m時此時傳輸讀取的效率是最高的。

最佳傳輸損耗原理:

當讀取一個文件的時候,所需要的時間分為兩部分:尋址時間、傳輸時間。根據目前的技術水平,機械磁盤的尋址時間普遍在10ms左右,而傳輸時間取決於要讀取文件的大小,讀取的文件越大,所需要的傳輸時間越長,那么,一次讀取多少文件效率最高呢?根據經驗尋址時間占傳輸時間1% 的時候,是傳輸一個文件效率最高的。

3、適合處理大規模數據集

數據規模:能夠處理數據規模達到 GB、TB 甚至 PB級別數據。

文件規模:能夠處理百萬規模以上的文件數量。

4、高可靠性

由於具有高容錯性,所以集群可以部署在廉價的機器上,並且保證數據不會丟失。

HDFS的缺點:

1、不適合低延遲的數據訪問

訪問hdfs的數據是相對較慢的,無法做到像 mysql 那樣的毫秒級別的讀寫數據。

2、不適合存儲大量的小文件

所有存儲在 hdfs上的文件都需要由 NameNode來管理元數據信息,每個 block塊的元數據信息都會占用 150字節的內存空間,會增大 NameNode的負擔。

例如同樣存儲10M的內容,采取副本數為3的備份機制,這10M放在一個文件中,所用到的元數據占用的內存為150*3=450字節,如果把這10M放到10個文件中,則占用150*10*3=4500字節,很明顯,存儲相同的內容,第二種方式占用的內存更多。

3、不支持並發寫入以及隨即修改

一個文件只能有一個用戶寫,不允許多個線程同時寫入

僅支持數據的追加,不支持文件的隨即修改


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM