數據存儲產業服務平臺

為什么說IPFS挖礦應該選擇分布式文件而不是對象存儲?

做SDS存儲的都知道,現在IPFS挖礦項目很多。IPFS挖礦對存儲的需求很大,因此經常有朋友和我探討關于IPFS存儲的選型問題。今天,我們就來深入討論一下這塊內容,大家可以根據自己的想法談談自己的理解。

IPFS對存儲的需求

IPFS指星際文件系統(InterPlanetary File System)。IPFS是一個分布式的Web,點到點超媒體協議??梢宰屛覀兊幕ヂ摼W速度更快,更加安全,并且更加開放。IPFS協議的目標是取代傳統的互聯網協議HTTP。

IPFS引入Filecoin作為存儲之上激勵層,也就是Filecoin礦工存儲數據的同時,會得到一部分Fil虛擬幣收益。Filecoin與其他區塊鏈項目有相似之處但也有不同,不同點主要體現在以下幾個方面:

質押:Filecoin礦工在進行數據存儲之前,需要提交一定的質押幣,因為涉及到數據的完整性和安全性,所以官方對參與者設置了一定的門檻。如果出現錯誤,如存儲系統無法訪問,或數據丟失等情況,則可能不僅拿不到收益,還會把質押的Fil幣全部扣除。

時空證明:與其他區塊鏈項目不同的是,Filecoin使用PoSt(時空證明)作為共識算法。顧名思義,時空證明主要目的是證明數據在一段時間內占用存儲系統的一部分空間。

時空證明的生成過程中,需要訪問底層存儲系統,所以存儲系統的性能和穩定性就跟時空證明的正確性密切相關。如果IPFS/Filecoin參與者可以遵照規則提供穩定的時空證明,則參與者所獲得收益也會隨著存儲數據量的增加而水漲船高。

懲罰機制:Filecoin的懲罰機制比較復雜,同時也很嚴格,如果頻繁出現失誤,那就得不償失了。跟存儲相關的懲罰主要有下面幾種:

A、時空證明出錯

時空證明出錯包括很多種情況,常見的如已封裝的數據丟失或數據出錯,會導致時空證明出錯。而出錯將會導致罰幣。

B、未提交時空證明

如果Filecoin礦工不僅沒有在一個證明周期內提交證明,而且延遲的時間甚至超過了生成攻擊閾值,則會被系統認為證明沒有提交。

C、違背合作

如果由于存儲服務不可用,或存儲系統故障導致礦工未能按照合約在規定時間內完整且安全的存儲用戶數據,則用戶可以馬上報告給主網。在確認情況屬實后,將會對礦工進行處罰,扣除礦工的質押幣和其后的挖礦收益。

IPFS后端存儲選擇

通過上面分析可以看出,IPFS對數據存儲的安全性和完整性具有非常高的要求,所以怎么選擇存儲,就變得非常重要。我們主要從三個維度來談IPFS對存儲方案的選擇。

傳統NAS or分布式:對于傳統NAS來說,元數據和數據使用本地存儲,無法擴展,不具備高可用,同時受限于存儲空間和性能,實際可保存的文件數有限,一般小于1億,存儲空間也為TB級別。分布式存儲系統中,數據采用分布式架構,可擴展,具備高可用;一般情況下單命名空間中,文件數可支持百億,容量也支持百PB到EB級別。

在IPFS場景中,傳統NAS會有一定的用武之地,但分布式存儲一定是趨勢。分布式系統帶來的高可用和容錯,是非常契合IPFS底層存儲需求的。

開源方案 or企業級存儲:對于IPFS場景,動輒幾十PB上百PB的存儲集群部署已經是常態了,在這種情況下如何保證大規模存儲集群的數據安全和長期穩定運行就是Filecoin參與者們要思考的問題了。

隨著數據量的持續不斷增加,只有保證存儲系統可以穩定提供服務的前提下,才可能做到收益最大化。開源方案短期內可能成本較低,但如果由于大規模下運維能力不足,對核心IO邏輯或者一些數據安全特性理解不透徹,則可能造成投資血本無歸。所以長期來看,選擇企業級存儲方案是更優的選擇。

對象存儲 or文件系統:IPFS的底層存儲類型選擇上,目前市場主要有兩種聲音:文件系統&對象存儲。

文件系統是以目錄樹的結構進行組織,以文件為單位進行存儲的。對象存儲則主要是以扁平化的結構進行組織,所有對象都平鋪在存儲桶中,與文件系統一個明顯的不同是對象存儲的接口協議是S3(事實標準),而非POSIX、NFS等標準文件系統的訪問方式,這也導致大部分場景無法做到直接適配。

對于 IPFS場景來說,選擇存儲類型應該從以下幾個方面來考慮:

1、數據規模:Filecoin本身主要存儲32GB大文件,所以需要存儲文件的數量非常少,對象存儲的海量小文件優勢沒法發揮;

2、存儲結構:Filecoin目錄結構簡單,實際只有1~2層目錄,對于文件系統來說基本上是扁平的存儲結構,對象存儲同樣沒有什么優勢;

3、應用對接:Filecoin原生使用文件系統接口訪問底層存儲,如果使用文件存儲可以做到無縫對接。如果使用對象存儲,則需要進行Filecoin應用代碼改造。這種情況下除了存儲產品,存儲廠商還需要提供持續的Filecoin社區的跟進服務,無論是應用改造還是社區跟進,都需要投入大量的人力成本,這部分成本最終將轉嫁到整體方案成本中。

針對對象存儲應用改造的部分,大致分為2塊:

1、對象存儲driver,這部分是指基于S3 SDK封裝的對象存儲客戶端,以及用S3 API模擬合并讀等接口。

2,Filecoin代碼改造,這部分主要是指改lotus相關代碼庫,以讓lotus支持新的對象存儲driver,包括合并讀等接口。

后記

實際上Filecoin是一個非常典型的文件存儲場景,并且仍然屬于早期項目。項目本身還存在一些BUG和不穩定,在這種情況下選用存儲廠商定制的Filecoin版本,并且跟隨社區主線代碼變更,如果碰到問題,無法確定是Filecoin問題還是存儲廠商問題。

綜上所述,這里比較建議選擇分布式文件存儲作為IPFS/Filecoin存儲系統。

未經允許不得轉載:存儲在線-存儲專業媒體 » 為什么說IPFS挖礦應該選擇分布式文件而不是對象存儲?
精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走