主網上線后,存儲的數據呈爆炸式增長。現在整個網絡的有效計算能力已經達到1.40EiB,海量數據的安全存儲給礦工帶來了巨大的挑戰。
關注的朋友可能在這兩天看到了這兩個賬號的照片。這兩個賬戶都是之前的頂部節點,但現在賬戶可用余額為-數萬-數十萬FIL,質押貨幣和區塊獎勵被沒收,損失相當于數千萬元人民幣。發生這樣的情況是很遺憾的。
行業的生命周期為180-540天,在這段時間內,我們需要不斷驗證數據存儲的安全性。如果提交的數據錯誤或未在時間內提交,則會報告錯誤。如果沒有在14天內提交正確的數據,將觸發非常嚴重的沒收機制!
因此,存儲方案對于挖掘是非常重要的!
這說明我們存儲的打包數據容易因硬盤損壞而丟失,僅靠硬盤存儲難以保證存儲在扇區生命周期內的數據的安全性。
圖:浴缸曲線
因此,冗余保護策略變得非常必要。
多拷貝碼和擦除碼是分布式存儲系統中常用的兩種數據冗余保護策略,是保護我們的數據安全的兩種技術。
注:分布式存儲系統中的CAP原則包括一致性、可用性和分區容差。可用性的兩種常見技術是多拷貝和擦除代碼。
多拷貝與糾刪碼分別是什么
多拷貝是將數據復制到多個副本,并存儲在不同的地方,實現冗余備份。以副本為例。顧名思義,雙重復制意味著數據存儲為兩個副本。當一個副本丟失時,可以由另一個副本恢復數據。
糾刪碼(EC)主要利用糾刪碼算法對原始數據進行編碼以獲得冗余。它將數據進行分段,對冗余數據塊進行擴展和編碼,將其存儲在不同的位置,并將數據和冗余一起存儲,達到容錯的目的。
糾刪碼首先解決了通信行業中傳輸數據部分丟失的問題。它的基本原理是對發射信號進行分段,加上一定的檢查,然后在分段之間進行一定的連接。即使在傳輸過程中丟失了一些信號,接收機仍然可以通過算法計算出完整的信息。擦除碼技術本身更多的是用于傳輸而不是存儲。
如何選擇多拷貝擦除碼技術
多拷貝和擦除碼技術在不同的應用場景中有各自的優勢。
(以多份與雙份為例,以data/效能4/1為例,以擦除代碼為例)
1.存儲利用率
將多個副本復制存儲在不同的地方,實現冗余備份。比如雙份利用率只有50%,冗余度很高,帶來巨大的額外存儲空間消耗,無形中增加了成本,但更安全,、讀寫更快。
糾刪碼技術不需要寫真實數據的完整拷貝。它主要通過糾刪碼算法對原始數據進行編碼以獲得冗余,并將數據和冗余存儲在一起以達到容錯的目的。基本思想是通過計算N個原始數據元素得到M個冗余元素(校驗塊)。對于這N個M塊的元素,當任何少于M塊的元素出現錯誤(包括原始數據和冗余數據)時,可以通過相應的重建算法恢復出原始的N塊數據。生成校驗的過程稱為編碼,恢復丟失數據塊的過程稱為解碼。磁盤利用率為n/(n m)。與雙拷貝方法相比,它具有磁盤利用率高的優點。
依附:容量與空間的對比
2.容錯
雙拷貝易于理解,即保存一份備份一份,具有更好的容錯性。雙拷貝可以在某些數據丟失后從另一個拷貝復制丟失的數據,并恢復正常使用。
擦除碼技術的實質是計算。如果數據丟失數據庫冗余度是什么,擦除碼技術所做的就是計算丟失的數據,而計算需要一些已知的量來計算。當有很多數據丟失時,是無法計算的。容錯和復制之間有一定的差距,
就實際情況而言,當消除代碼設置為4/1,節點或數據塊失敗,和數據恢復需要讀3數據塊和1檢查,也就是說,如果這5個項目(41=5)傷害任何2數據塊,不能計算和檢索數據,導致嚴重后果的信息損失和檢索。
3.可靠性比較
一個雙重副本有兩個數據副本,這可以允許任何數據塊被損壞。
只有當擦除碼配置一個具有奇偶校驗位的數據塊時,它才能提供類似于雙拷貝的可靠性。
4.數據恢復對性能和恢復效率的影響
在雙拷貝的情況下,如果一個節點或數據塊發生故障,將直接從另一個副本中讀寫數據恢復,并且恢復一次,這將影響一個節點的讀取性能。回收效率高。
當擦除碼設置為4/1時,一個節點或數據塊失效,數據恢復需要讀取三個數據塊和一次檢查。數據恢復是在操作后寫一次,這影響了4個節點的讀取性能。回收效率低。
5.寫的懲罰
在雙拷貝的情況下,一個節點的一次數據寫入實際上需要兩個節點參與(寫入兩次),寫入懲罰為2。
當擦除碼設置為4/1時,實際需要至少兩個節點參與一次數據寫,包括讀兩次(讀數據,讀驗證)和寫兩次(寫數據,寫驗證),寫罰4。
6.CPU開銷
-copy是一種基于數據的完整復制,幾乎沒有計算開銷,CPU開銷也很低。
擦除代碼需要計算檢查值,因為讀寫有很高的計算開銷,需要額外的CPU資源開銷。
7.如何選擇這兩種技術
復制技術可以更好的保證數據安全,提高讀寫效率。一般來說數據庫冗余度是什么,它適用于數據庫等關鍵業務,這些業務對網絡的性能要求高,對數據錯誤的容忍度低。
擦除碼可以提高存儲系統的利用率,降低成本。一般適用于其他非關鍵業務,如視頻監控等。某些數據塊的損壞不會影響信息的傳輸。
結論
挖掘的核心是存儲,這可以節省資金。如果有一天出了什么差錯,你會失去你的妻子和你的軍隊。目前,星際聯盟復制策略在安全性上無疑是優越的。雖然成本很高,但它是挖掘過程中數據安全的重要保證。備份冗余不是浪費,而是非常必要的。