HDFS主要解決什麼問題,與IPFS有什麼不一樣?

HDFS主要解決什麼問題,與IPFS有什麼不一樣?node

近年,隨着區塊鏈、大數據等技術的推進,全球數據量正在無限制地擴展和增長。分佈式存儲的興起與互聯網的發展密不可分,互聯網公司因爲其大數據、輕資產的特色,一般使用大規模分佈式存儲系統。linux

與傳統的高端服務器、高端存儲器和高端處理器不一樣的是,互聯網公司的分佈式存儲系統由數量衆多的、低成本和高性價比的普通 PC 服務器經過網絡鏈接而成。因爲互聯網的業務發展迅猛,使得存儲系統架構不能依靠傳統的縱向擴展的方式,即先買小型機,不夠時再買中型機,甚至大型機。互聯網後端的分佈式系統要求支持橫向擴展,即經過增長普通 PC 服務器來提升存儲系統的總體處理能力。數據庫

另外,隨着服務器的不斷加入,須要可以在軟件層面實現自動負載均衡,使得系統的處理能力獲得線性擴展。在這種狀況下,分佈式存儲的成爲大多數企業的必然選擇。swift

那麼分佈式存儲的種類有哪些呢?後端

分佈式存儲包含的種類繁多,除了傳統意義上的分佈式文件系統、分佈式塊存儲和分佈式對象存儲外,還包括分佈式數據庫和分佈式緩存等,但其中架構無外乎於三種:瀏覽器

A、中間控制節點架構 - 以 HDFS 爲表明的架構是典型的表明緩存

B、徹底無中心架構 – 計算模式,以 Ceph 爲表明的架構是其典型的表明安全

C、徹底無中心架構 – 一致性哈希,以 swift 爲表明的架構是其典型的表明服務器

這裏咱們主要對比下HDFS與IPFS網絡

HDFS的簡介

HDFS(Hadoop Distributed File System)是hadoop項目的核心子項目,是分佈式計算中數據存儲管理的基礎。是基於流數據模式訪問和處理超大文件的需求而開發的, 能夠運行於廉價的商用服務器上。

它所具備的高容錯、 高可靠性、 高可擴展性、 高得到性、 高吞吐率等特徵爲海量數據提供了不怕故障的存儲, 爲超大數據集(Large Data Set) 的應用處理帶來了不少便利。

HDFS是開源的,存儲着Hadoop應用將要處理的數據,相似於普通的Unix和linux文件系統,不一樣的是它是實現了google的GFS文件系統的思想,是適用於大規模分佈式數據處理相關應用的、可擴展的分佈式文件系統。

爲何須要HDFS?

小量的數據,單機的磁盤是可以很好地處理面對的數據,但當數據量巨大(PB)時,磁盤開始糾結處理咱們須要的海量信息。咱們沒法提高單個磁盤的傳輸速度, 由於這個技術已經沒有空間了 只能將大任務分解成小任務 , 一塊磁盤分解成多個磁盤。 對多個磁盤上的文件進行管理, 就是分佈式文件管理系統—HDFS

HDFS主要解決什麼問題,與IPFS有什麼不一樣?

HDFS的功能

1)數據的分佈式存儲和處理。

2)Hadoop 提供了一個命令接口來與 HDFS 進行交互。

3)namenode 和 datanode 的內置服務器可幫助用戶輕鬆檢查羣集的狀態。

4)對文件系統數據的流式處理訪問。

5)HDFS 提供文件權限和身份驗證。

HDFS系統架構 及主要組件

在以前分步啓動Hadoop集羣時你們應該注意到了,集羣中與HDFS相關的進程有兩類,分別是namenode與datanode。HDFS是一個主從架構的系統,其中namenode做爲主節點管理着多個從工點datanode。其架構圖以下所示:

HDFS主要解決什麼問題,與IPFS有什麼不一樣?

Namenode:
管理維護着文件系統樹以及整個文件樹內全部的文件和目錄即文件系統的元數據; 控制客戶端對文件的訪問; 它還執行文件系統操做, 如重命名,關閉和打開文件/目錄。DateNode:
管理所存儲的數據;按照客戶端的請求, 執行在文件系統上的讀寫操做;還根據NameNode的指令執行操做如block的建立、 刪除和備份。

Block
一般用戶的數據存儲在HDFS上的文件中;該文件將被拆分爲一個或多個片斷, 並存儲在單個的數據節點;這些文件片斷稱爲blocks。 換句話說, HDFS可讀寫的最小數據量叫作Block。 默認的block大小是64MB/128M(可根據配置增長)。

Rack
安裝集羣計算機的機架,一個機架能夠安裝幾臺計算機,在整個Hadoop集羣中又會有幾個這樣的機架組成。

若是客戶端須要從某個文件讀取數據,首先從 NameNode 獲取該文件的位置,而後從該 NameNode 獲取具體的數據。在該架構中 NameNode 一般是主備部署( Secondary NameNode ),而 DataNode 則是由大量節點構成一個集羣。因爲元數據的訪問頻度和訪問量相對數據都要小不少,所以 NameNode 一般不會成爲性能瓶頸,而 DataNode 集羣中的數據能夠有副本,既能夠保證高可用性,能夠分散客戶端的請求。所以,經過這種分佈式存儲架構能夠經過這種分佈式存儲架構能夠經過橫向擴展 datanode 的數量來增長承載能力,也即實現了動態橫向擴展的能力。

一般,用戶數據存儲在 HDFS 的文件中。文件系統中的文件將分爲一個或多個片斷存儲在單個數據節點中。這些文件段稱爲block。換句話說,HDFS 能夠讀取或寫入的最小數據量稱爲block。默認塊大小爲 64MB,能夠根據 HDFS 配置進行更改。

HDFS的特色

一、故障檢測和恢復 – 因爲 HDFS 包含大量產品硬件,組件故障頻繁。所以,HDFS 應具備快速自動故障檢測和恢復的機制。

二、數據集的管理 – HDFS 每一個羣集都有數百個節點來管理具備大型數據集的應用程序。

三、數據硬件處理 – 當計算在數據物理附近時,能夠高效地完成請求的任務。特別是在涉及大量數據集時,它減小了網絡流量並提升了吞吐量。

IPFS的簡介

IPFS(Inter Planetary File System),又叫星際文件系統。IPFS在2015年開啓,目前已經有5年時間了。IPFS和Filecoin一直熱度不斷,影響力也是愈來愈大。在這裏咱們先撇開區塊鏈部分的Filecoin不談,重點分析下IPFS在分佈式存儲方面的應用。

HDFS主要解決什麼問題,與IPFS有什麼不一樣?

IPFS的工做原理

第一個原理,就是在IPFS系統中,每一個文件都會被進行 Hash 處理,並生成數字指紋。

第二,就是咱們要查找文件時,IPFS 經過使用一個分佈式哈希表,能夠快速找到擁有數據的節點進行檢索,並使用哈希驗證其是否爲正確的數據,從而找到咱們想要的文件。

第三, IPFS會經過網絡刪除重複的、具備相同哈希值的文件,也就是說,它經過計算是能夠判斷哪些文件是冗餘重複的,並跟蹤每一個文件的版本歷史記錄。

第四,每一個網絡節點只存儲它感興趣的內容,以及一些索引信息,有助於咱們弄清楚誰在存儲什麼。

第五,使用稱爲 IPNS(去中心化命名系統),每一個文件均可以被協做命名爲易讀的名字,經過搜索,咱們就能很容易地找到想要查看的文件。

因爲,IPFS跟HTTP協議,都被稱爲互聯網底層協議。那麼上網的時候,咱們常常能看到這樣一串字符,http://  www.baidu.com,或者是http:// www.taobao.com、或是http://  www.aiqiyi.com等……,這就是咱們俗稱所謂的域名。但IPFS有很是優於HTTP的地方,主要體如今如下幾個方面:

IPFS它的安全性更高。一方面,IPFS中的每一個文件及其中的全部塊,都被賦予了一個稱爲加密散列的惟一指紋;另外一方面,IPFS是一個點對點的分佈式文件系統,是能夠用來存儲文件的,這個文件咱們能夠理解爲:包括文本、圖片、音頻、視頻等等;再者,因爲IPFS的工做機制是將整個文件進行拆散, 而後儲存在全球的不一樣節點。須要數據的時候,經過文件的索引從原來存儲的位置找回來,可以保護數據的隱私與安全性。

舉例BAT,咱們如今使用的雲儲存方式是:咱們把數據交給BAT(百度雲、阿里雲、騰訊雲),須要數據的時候找BAT拿回來。這個過程看上去沒什麼毛病,可一旦BAT的服務器停機,或者是你的隱私被偷窺了呢?

IPFS它的去中心化使得數據上傳、下載速度能夠更快,還可以讓數據永久化的存儲。由於IPFS是由全球的存儲節點構成的,也就是說將來咱們能夠在世界的每一個角落,均可以快速的訪問存儲在ipfs網絡上的文件。簡單地說就是把這些文件進行加密,而後存儲到電腦、手機等等這些使用硬盤的儀器當中。

從上述的原理中咱們能夠清晰地看出,在存儲方面IPFS與傳統的分佈式存儲是徹底不一樣的,是徹底去中心化的。

HDFS與IPFS對比

HDFS主要解決什麼問題,與IPFS有什麼不一樣?

a 、應用對象

HDFS主要是企業級的應用,針對企業的大文件存儲,由於 HDFS 採用的是以元數據的方式進行文件管理,而元數據的相關目錄和塊等信息保存在 NameNode 的內存中, 文件數量的增長會佔用大量的 NameNode 內存。若是存在大量的小文件,會佔用大量內存空間,引發整個分佈式存儲性能降低,因此儘可能使用 HDFS 存儲大文件比較合適。而IPFS主要是針對我的用戶市場,根據我的的文件進行存儲,存儲的節點越多,存儲的文件越多,整個文件系統的穩定性也就越高。

b 、讀寫頻次

HDFS適合低寫入,屢次讀取的業務。HDFS 的數據傳輸吞吐量比較高,可是數據讀取延時比較差,不適合頻繁的數據寫入。IPFS對於文件的讀取和寫入具備很強的包容性和擴展性,文件的讀取和寫入越多,整個基於IPFS的經濟生態系統也就越繁榮,在系統中的用戶也就越受益。

c 、存儲環境

HDFS 採用多副本數據保護機制,使用普通的 X86 服務器就能夠保障數據的可靠性,不推薦在虛擬化環境中使用。IPFS使用我的的普通服務器便可做爲節點,運行IPFS系統,提供去中心化的存儲服務

d、存儲系統

HDFS 主要針對大企業,雖是分佈式存儲,其主要的控制着還是企業主體,屬於一個封閉的存儲系統。IPFS徹底去中心化的操做,任何企業和我的均可以接入存儲網絡。

e、尋址方式

HDFS若是客戶端須要從某個文件讀取數據,首先從 NameNode 獲取該文件的位置,而後從該 NameNode 獲取具體的數據,IPFS則是直接從內容所在的節點獲取文件,是基於內容獲取的方式。

基於IPFS技術開發的應用也不斷出現,IPFS直接整合至Brave瀏覽器中,將 Hadoop 置於IPFS之上進行p2p數據分析,PeerPad利用IPFS構建無服務器、實時的、離線協做式應用等。在陸續與微軟、美國宇航局(NASA)等知名機構、企業創建合做關係後,IPFS的實際應用價值獲得了進一步深化。

總結IPFS/IPSE分佈式架構的優勢:

去中心化

分佈式節點網絡,無單點問題

加密技術保護數據完整性和安全性

存儲成本和傳輸成本遠低於中心化系統

通證激勵

以上就是本篇文章的所有內容,更多詳細信息敬請關注。

相關文章
相關標籤/搜索