我們日常使用的電腦,點開「我的電腦」,都會有C盤、D盤之類的硬碟顯示。無論是下載的應用,還是文件,都必須保存在某個盤中,這個行為便是數據存儲。說到存儲,就繞不開存儲空間。細心的朋友可能會發現,家用電腦的實際可用硬碟容量,是少於硬碟廠家標定的存儲容量的。由此,產生了物理存儲和有效存儲的區別。
存儲空間與編碼方式
簡單類比一下,可以將Filecoin網絡看成一個「電腦」集群,只是這個「電腦」在這裡變成了專為數據存儲量身定做的伺服器,而存儲空間的原理則是一樣,有效存儲相比於物理存儲,會有所下降。這也是為什麼各家節點運營商同樣的存儲容量,獲得的FIL獎勵不盡相同。
家用電腦的存儲空間失真比例相對較小,幅度在10%左右。但是Filecoin網絡裡的伺服器,出於對數據進行恢復的需要,進行了碎片化備份,以及錯誤修正碼等防護措施。Filecoin網絡對數據驗證的方式具有唯一性,並不會給備份的數據發放獎勵,因此,有效存儲與物理存儲將會存在30%-50%的偏差。這個偏差數值,取決於數據編碼方式,即Raid0、Raid1、Raid2......Raid100的區別。
市面上主流的數據編碼方式,主要有Raid0、Raid1、Raid5、Raid10這幾種。簡單概述一下:
01
能有效提升硬碟數據的吞吐速度,有效存儲空間的損耗最低。但任何一塊硬碟損壞,都會導致整個系統的數據受到破壞。這種數據編碼方式顯然不適合Filecoin網絡,太空競賽首日,某節點運營商數據被清零,大概率便是使用了Raid0數據編碼方式。
02
將數據完整備份在多個硬碟中,在數據災難恢復方面,獲得極高的安全性,但是由於備份比例高達50%,所以有效存儲只佔物理存儲的50%。對於技術創新能力一般的節點運營商,選擇Raid1不失為一個穩妥的策略,只是在FIL收益上打的折扣有點大。
03
空間利用較大,同時存在一定能力的災難恢復能力。它不會備份真實數據,而是將數據的奇偶校驗信息備份到除自身外的每一塊硬碟中。一旦有數據損壞或丟失,通過奇偶校驗信息來試圖恢復數據。這樣做的好處兼顧了讀寫速度、數據安全性、存儲空間丟失率等各方因素。小範圍的數據損壞及丟失,一般都能恢復。在Filecoin網絡體系中,Raid5是比較合適的方式,但也不是最佳選擇。
04
融合了Raid0+Raid1,將硬碟分組進行存儲。使Raid0的數據吞吐速度和Raid1的絕對安全,理論上只要同一組硬碟沒有全部損壞,那麼所有數據都能完整被恢復。使用Raid10的話,幾乎可以不用擔心數據安全,也可以保證吞吐量的高速運轉,但是有效存儲依然是物理存儲的50%。
為什麼都是1T的存儲容量,各節點運營商獲得的FIL收益卻存在差距。看完上述數據編碼方式,想必已經清晰明了地知道前因後果了吧?根據對目前各Filecoin商家的調研,有效存儲率基本達到67%,即1TB的物理容量,可以封裝0.67TB的數據碎片,或者理解為0.67TB已封裝的存力。