重復(fù)數(shù)據(jù)刪除技術(shù)分析及分類
重復(fù)數(shù)據(jù)刪除也稱為智能壓縮或單一實(shí)例存儲(chǔ),是一種可自動(dòng)搜索重復(fù)數(shù)據(jù),將相同數(shù)據(jù)只保留唯一的一個(gè)副本,并使用指向單一副本的指針替換掉其他重復(fù)副本,以達(dá)到消除冗余數(shù)據(jù)、降低存儲(chǔ)容量需求的存儲(chǔ)技術(shù)。
本文首先從不同角度介紹重復(fù)數(shù)據(jù)刪除技術(shù)的分類,然后分別介紹相同數(shù)據(jù)重復(fù)數(shù)據(jù)刪除技術(shù)和相似數(shù)據(jù)重復(fù)數(shù)據(jù)刪除技術(shù),并介紹重復(fù)數(shù)據(jù)消除的性能提升方法,最后分析重復(fù)數(shù)據(jù)技術(shù)的應(yīng)用場景。
1 重復(fù)數(shù)據(jù)刪除技術(shù)的分類
1.1 基于重復(fù)內(nèi)容識(shí)別方法的分類
(1)基于散列識(shí)別
該方法通過數(shù)據(jù)的散列值來判斷是否是重復(fù)數(shù)據(jù)。對(duì)于每個(gè)新數(shù)據(jù)塊都生成一個(gè)散列,如果數(shù)據(jù)塊的散列與存儲(chǔ)設(shè)備上散列索引中的一個(gè)散列匹配,就表明該數(shù)據(jù)塊是一個(gè)重復(fù)的數(shù)據(jù)塊。Data Domain、飛康、昆騰的DXi系列設(shè)備都是采用SHA-1、MD-5等類似的散列算法來進(jìn)行重復(fù)數(shù)據(jù)刪除。
基于散列的方法存在內(nèi)置的可擴(kuò)展性問題。為了快速識(shí)別一個(gè)數(shù)據(jù)塊是否已經(jīng)被存儲(chǔ),這種基于散列的方法會(huì)在內(nèi)存中擁有散列索引。隨著數(shù)據(jù)塊數(shù)量增加,該索引也隨之增長。一旦索引增長超過了設(shè)備在內(nèi)存中保存它所支持的容量,性能會(huì)急速下降,同時(shí)磁盤搜索會(huì)比內(nèi)存搜索更慢。因此,目前大部分基于散列的系統(tǒng)都是獨(dú)立的,可以保持存儲(chǔ)數(shù)據(jù)所需的內(nèi)存量與磁盤空間量的平衡。這樣的設(shè)計(jì)使得散列表就永遠(yuǎn)不會(huì)變得太大。
(2)基于內(nèi)容識(shí)別
該方法采用內(nèi)嵌在數(shù)據(jù)中的文件系統(tǒng)的元數(shù)據(jù)識(shí)別文件,與其數(shù)據(jù)存儲(chǔ)庫中的其他版本進(jìn)行逐字節(jié)地比較,找到該版本與第一個(gè)已存儲(chǔ)版本的不同之處并為這些不同的數(shù)據(jù)創(chuàng)建一個(gè)增量文件。這種方法可以避免散列沖突,但是需要使用支持該功能的應(yīng)用設(shè)備以便設(shè)備可以提取元數(shù)據(jù)。
(3)基于ProtecTier VTL的技術(shù)
這種方法像基于散列的方法產(chǎn)品那樣將數(shù)據(jù)分成塊,并且采用自有算法決定給定的數(shù)據(jù)塊是否與其他數(shù)據(jù)塊的相似,然后與相似塊中的數(shù)據(jù)進(jìn)行逐字節(jié)的比較,以判斷該數(shù)據(jù)塊是否已經(jīng)被存儲(chǔ)。
1.2 基于去重粒度的分類
(1)全文件層次的重復(fù)數(shù)據(jù)刪除
以整個(gè)文件為單位來檢測和刪除重復(fù)數(shù)據(jù),計(jì)算整個(gè)文件的哈希值,然后根據(jù)文件哈希值查找存儲(chǔ)系統(tǒng)中是否存在相同的文件。這種方法的好處是在普通硬件條件下計(jì)算速度非??欤贿@種方法的缺點(diǎn)是即使不同文件存在很多相同的數(shù)據(jù),也無法刪除文件中的重復(fù)數(shù)據(jù)。
(2)文件塊消冗
將一個(gè)文件按不同的方式劃分成數(shù)據(jù)塊,以數(shù)據(jù)塊為單位進(jìn)行檢測。該方法的優(yōu)點(diǎn)是計(jì)算速度快、對(duì)數(shù)據(jù)變化較敏感。
(3)字節(jié)級(jí)消冗
評(píng)論