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