實現原理:Hadoop分散式檔案系統(HDFS)是一種被設計成適合執行在通用硬體上的分散式檔案系統。HDFS是一個高度容錯性的系統,適合部署在廉價的 機器上。它能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。
hdfs的優點
(1) 高容錯性 1) 資料自動儲存多個副本。它透過增加副本的形式,提高容錯性。 2) 某一個副本丟失以後,它可以自動恢復,這是由 HDFS 內部機制實現的,我們不必關心。
(2) 適合批處理
1) 它是透過移動計算而不是移動資料。
2) 它會把資料位置暴露給計算框架。
(3) 適合大資料處理
1) 資料規模:能夠處理資料規模達到 GB、TB、甚至PB級別的資料。
2) 檔案規模:能夠處理百萬規模以上的檔案數量,數量相當之大。
3) 節點規模:能夠處理10K節點的規模。
(4) 流式資料訪問
1) 一次寫入,多次讀取,不能修改,只能追加。
2) 它能保證資料的一致性。
(5) 可構建在廉價機器上
1) 它透過多副本機制,提高可靠性。
2) 它提供了容錯和恢復機制。比如某一個副本丟失,可以透過其它副本來恢復。
2.hdfs的缺點
(1) 不適合低延時資料訪問; 1) 比如毫秒級的來儲存資料,這是不行的,它做不到。 2) 它適合高吞吐率的場景,就是在某一時間內寫入大量的資料。但是它在低延時的情況 下是不行的。
(2) 無法高效的對大量小檔案進行儲存。
1) 儲存大量小檔案的話,它會佔用 NameNode大量的記憶體來儲存檔案、目錄和塊資訊。這樣是不可取的,因為NameNode的記憶體總量是有限的。
2) 小檔案儲存的尋道時間會超過讀取時間,它違反了HDFS的設計目標。 改進策略
(3) 併發寫入、檔案隨機修改
1) 一個檔案只能有一個寫,不允許多個執行緒同時寫。
2) 僅支援資料 append(追加),不支援檔案的隨機修改。
實現原理:Hadoop分散式檔案系統(HDFS)是一種被設計成適合執行在通用硬體上的分散式檔案系統。HDFS是一個高度容錯性的系統,適合部署在廉價的 機器上。它能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。
hdfs的優點
(1) 高容錯性 1) 資料自動儲存多個副本。它透過增加副本的形式,提高容錯性。 2) 某一個副本丟失以後,它可以自動恢復,這是由 HDFS 內部機制實現的,我們不必關心。
(2) 適合批處理
1) 它是透過移動計算而不是移動資料。
2) 它會把資料位置暴露給計算框架。
(3) 適合大資料處理
1) 資料規模:能夠處理資料規模達到 GB、TB、甚至PB級別的資料。
2) 檔案規模:能夠處理百萬規模以上的檔案數量,數量相當之大。
3) 節點規模:能夠處理10K節點的規模。
(4) 流式資料訪問
1) 一次寫入,多次讀取,不能修改,只能追加。
2) 它能保證資料的一致性。
(5) 可構建在廉價機器上
1) 它透過多副本機制,提高可靠性。
2) 它提供了容錯和恢復機制。比如某一個副本丟失,可以透過其它副本來恢復。
2.hdfs的缺點
(1) 不適合低延時資料訪問; 1) 比如毫秒級的來儲存資料,這是不行的,它做不到。 2) 它適合高吞吐率的場景,就是在某一時間內寫入大量的資料。但是它在低延時的情況 下是不行的。
(2) 無法高效的對大量小檔案進行儲存。
1) 儲存大量小檔案的話,它會佔用 NameNode大量的記憶體來儲存檔案、目錄和塊資訊。這樣是不可取的,因為NameNode的記憶體總量是有限的。
2) 小檔案儲存的尋道時間會超過讀取時間,它違反了HDFS的設計目標。 改進策略
(3) 併發寫入、檔案隨機修改
1) 一個檔案只能有一個寫,不允許多個執行緒同時寫。
2) 僅支援資料 append(追加),不支援檔案的隨機修改。