兩種技術
磁碟利用率
計算開銷
網路負載
恢復效率
多副本(n副本)
1/n幾乎沒有
較低較高
糾刪碼(n+m)
n/(n+m)高較高
較低條目解釋:
磁碟利用率:
n副本:因為要存n副本,則存乙份的資料(設為n大小)占用n*n個不同的磁碟上的儲存空間,故磁碟利用率為1/n;
(n+m)冗餘:這時存乙份資料(設為n大小)應該占用(n+m)個不同磁碟上的儲存空間,故磁碟利用率為n/(n+m)。
計算開銷:
n副本:n副本只是將原始資料複製n份,故幾乎不存在計算開銷;
(n+m)冗餘:因為糾刪碼涉及到矩陣求逆的過程,這時的計算開銷就比較大。
網路負載:
n副本:考慮在分布式系統中,n副本的修復策略只需要找到其中乙個存在的副本,將副本複製一遍再返回即可實現資料的修復;進行編碼時需要傳遞n個副本到不同的節點上。例如恢復乙個1gb的檔案塊,採取n副本策略,恢復就需要占用1gb的網路流量,編碼需要占用ngb的網路流量。
(n+m)冗餘:同樣考慮在分布式系統中,修復策略則需要找到至少n個塊才能進行糾刪修復,編碼時則需要(n+m)個塊大小的網路流量。例如恢復乙個1gb檔案塊,採用4+3的冗餘策略,則恢復時需要至少占用4*1gb=4gb的網路流量,編碼時就需要7*1gb=7gb的網路流量。綜上可得,多副本冗餘的網路負載相對較低,而糾刪碼的網路負載相對較高。
恢復效率:
剛好與網路負載成正比,即多副本用較低的網路負載實現了資料恢復,故效率較高,而糾刪碼則是用較高的網路負載實現了資料恢復,故效率較低。個人認為這也是以空間換效率的體現。
reed-solomon(rs)碼是儲存系統較為常用的一種糾刪碼,它有兩個引數n和m,記為rs(n,m)。n代表原始資料塊個數。m代表校驗塊個數。
以n=5,m=3為例。即5個原始資料塊,乘上乙個(n+m)*n的矩陣,然後得出乙個(n+m)*1的矩陣。根據矩陣特點可以得知結果矩陣中前面5個值與原來的5個資料塊的值相等,而最後3個則是計算出來的校驗塊。
以上過程為編碼過程。d是原始資料塊,得到的c為校驗塊。
假設丟失了m塊資料。如下:
那我們如何從剩餘的n個資料塊(注意,這裡剩餘的n塊可能包含幾個原始資料塊+幾個校驗塊)恢復出來原始的n個資料塊呢,就需要通過下面的decoding(解碼)過程來實現。
第一步:從編碼矩陣中刪去丟失資料塊和丟失編碼塊對應行。 將刪掉m個塊的(n+m)×1個矩陣變形為n×1矩陣,同時b矩陣也需要刪掉對應的m個行得出乙個b』的變形矩陣,這個b』就是n*n矩陣。如下:假設d1、d4、c2丟失,我們得到如下b』矩陣及等式。
第二步:求出b』的逆矩陣。
第三步:等式兩邊分別乘上b』的逆矩陣。
b』和它的逆矩陣相乘得到單位矩陣i,如下:
左邊只剩下原始資料矩陣d:
至此完成解碼過程。
rs的特點:
工程實踐中,一般對於熱資料還是會使用多副本策略來冗餘,冷資料使用糾刪碼。
負載均衡 冗餘技術
第一天 大型web構架設計 第一集 大訪問量 1.負載均衡技術 1 cisco 乙太網通道 2 windows nlb技術 3 linux lvs技術 4 f5等負載均衡器 2.資料冗餘技術 1 cisco hsrp熱備份路由 2 windows集群技術 3 linux ha集群技術 4 ibm a...
思科Redundancy冗餘技術
思科redundancy冗餘技術 1.交換機冗餘 引擎的冗餘 特性 www.2cto.com 使rpr 作為冗餘協議 route processor redundancy plus 主 備引擎同時處於啟動狀態,但只有主引擎工作 主 備引擎的轉換時間為30s到60s 不支援vlan資料庫模式,但可在全...
dcs常用的冗餘方式 DCS冗餘技術簡介
高可靠性是過程控制系統的第一要求。冗餘技術是計算機系統可靠性設計中常採用的一種技 術,是提高計算機系統可靠性的最有效方法之一。為了達到高可靠性和低失效率相統一的目 的,我們通常會在控制系統的設計和應用中採用冗餘技術。合理的冗餘設計將大大提高系統 的可靠性,但是同時也增加了系統的複雜度和設計的難度,應...