這篇文章給大家分享的是有關(guān)Ceph分布式存儲糾刪碼之EC的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
沙洋網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),沙洋網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為沙洋上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的沙洋做網(wǎng)站的公司定做!
把一個文件放進磁盤很難嗎?不難,放進去就是了。
那么如果是特別重要的文件呢?也不難,多放幾份就是了。
還記得怎么對待畢業(yè)論文的嗎,電腦里存一份,U盤里存一份,網(wǎng)盤里再存一份,甚至好幾個網(wǎng)盤里都存一份。內(nèi)心戰(zhàn)戰(zhàn)兢兢,生怕幾個月的努力(并沒有。。。)付諸東流。這,就是副本存儲。
假設(shè)我們的存儲是以三副本方式進行的話,我們可以計算出實際利用率是一個很低很低的值,33.3%。那么有沒有什么更好的辦法呢,有,就是糾刪碼的方案。
利用糾刪碼儲存文件,一共分三步:
把一個文件均分為K個數(shù)據(jù)塊
將這K個數(shù)據(jù)塊通過一定的方式聯(lián)系起來生成M個校驗塊
當(dāng)某幾個數(shù)據(jù)塊丟失時,利用校驗塊重新計算出丟失的數(shù)據(jù)塊
以K,M取值為5、3為例,可以得出糾刪碼方案的利用率達到了5/8,62.5。在同樣可以容忍丟失三個數(shù)據(jù)塊的情況下,糾刪碼方案比副本方案容量利用率高出了近一倍!
可以看到重點就在于,如何計算出校驗塊以及如何利用其進行數(shù)據(jù)恢復(fù),接下來就講重點介紹這兩部分,這,也就是EC的原理。
如果怕d1,d2,d3的某一個數(shù)據(jù)可能會丟失,那么我們就需要利用這三個數(shù)據(jù)通過計算來生成一個新的校驗數(shù)據(jù)。說白了,一個最簡單的方式就是,
直接保存一個三者相加的值,那么當(dāng)其中一個數(shù)據(jù)丟失,就可以通過c1減去另外兩個數(shù)據(jù)來進行恢復(fù)。
到此,一個最簡單的可以允許一個數(shù)據(jù)丟失的EC算法就構(gòu)造成功了。
可以丟失兩個數(shù)據(jù)的EC算法
與丟失一個數(shù)據(jù)類似,我們會很容易想到,直接再構(gòu)造一個校驗塊,比如,
但是這樣真的可以嗎,仔細想來,這是個非常蠢的做法,如果真的丟失了兩個數(shù)據(jù),這兩個一模一樣的方程根本無法解出兩個未知數(shù),因為有兩個未知數(shù)但只有一個有效的方程。那么這兩個方程的系數(shù)向量有什么關(guān)系呢,這里引入一個線性代數(shù)的定義,它們線性相關(guān)。也就是說其中一個可以被另外一個線性表示。
知識點:線性相關(guān)。還不懂的同學(xué)自己回爐~
于是,我們可以改變c2
方程的系數(shù),隨便取一個,讓它和另一個線性無關(guān),比如:
顯然,我們可以用初中一年級學(xué)到的解二元一次方程的方法輕易地將丟失的兩份數(shù)據(jù)恢復(fù)(就是解出來了那倆值)。
EC算法推廣
如果,我們把上面的方程寫成矩陣乘法的形式,如下,
通過上文的分析,我們可以用非常樸素(low)的數(shù)學(xué)思想總結(jié),當(dāng)生成矩陣(就是校驗公式的系數(shù)矩陣)的行向量兩兩不相關(guān)時,生成的校驗數(shù)據(jù)可以在丟失數(shù)據(jù)時將其恢復(fù)。此時,如果我們回憶下大一的線性代數(shù)的知識,其實這就是要求生成矩陣可逆。
知識點:逆矩陣。
兩個矩陣相乘等于單位矩陣,就稱它們互為逆矩陣。
剛才我隨便取了c2的系數(shù)為7 6 3(其實是我的UM帳號后綴。。。),它恰巧是可行的,但是在有多個的情況下,需要有一個規(guī)律性的生成矩陣的取值,且保證這個矩陣可逆。比如,我們可以用下面這個規(guī)律,
F = [0,0,0,1,0;0,0,0,0,1;1,1,1,1,1;1,2,3,4,5;1,4,9,16,25]; F_INV = inv(F); %求F的逆矩陣 C = [7;0;22;61;197]; D = F_INV*C; D = 5.0000 2.0000 8.0000 7.0000 0
可以看到,丟失的數(shù)據(jù)得到了完美的還原。
感謝各位的閱讀!關(guān)于“Ceph分布式存儲糾刪碼之EC的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
新聞名稱:Ceph分布式存儲糾刪碼之EC的示例分析
文章鏈接:http://jinyejixie.com/article28/jjgocp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站策劃、商城網(wǎng)站、、做網(wǎng)站、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)