圖一 LZ77算法示意圖
數(shù)據(jù)壓縮的應(yīng)用可以顯著降低待處理和存儲的數(shù)據(jù)量,一般情況下可實現(xiàn)2:1 ~ 3:1的壓縮比。
重復(fù)數(shù)據(jù)刪除
在備份、歸檔等實際的存儲實踐中,人們發(fā)現(xiàn)有大量的重復(fù)數(shù)據(jù)塊存在,既占用了傳輸帶寬又消耗了相當(dāng)多的存儲資源:有些新文件只是在原有文件上作了部分改動,還有某些文件存在著多份拷貝,如果對所有相同的數(shù)據(jù)塊都只保留一份實例,實際存儲的數(shù)據(jù)量將大大減少–這就是重復(fù)數(shù)據(jù)刪除技術(shù)的基礎(chǔ)。
這一做法最早由普林斯頓大學(xué)李凱教授(DataDomain的三位創(chuàng)始人之一)提出,稱之為全局壓縮(Global Compression),并作為容量優(yōu)化存儲(Capacity Optimized Storage, COS)推廣到商業(yè)應(yīng)用。目前,除了DataDomain等專門廠商外,各主要存儲廠商如EMC、IBM、Symantec、FalconStor等等也都通過收購或研發(fā)等途徑擁有了各自的重復(fù)數(shù)據(jù)刪除技術(shù),有的還并冠以別名,如單示例存儲(Single Instance Repository,SIR)等。
重復(fù)數(shù)據(jù)刪除的實現(xiàn)由三個基本操作組成,如圖二。首先,待處理數(shù)據(jù)(文件)被分割成固定或可變大小的數(shù)據(jù)塊,同時生成一張"結(jié)構(gòu)圖"顯示這些數(shù)據(jù)塊怎樣組成完整的原數(shù)據(jù)(文件);然后計算各數(shù)據(jù)塊的"指紋"(標(biāo)識),并根據(jù)"指紋"確認(rèn)該數(shù)據(jù)塊是否與其它數(shù)據(jù)塊相同;最后,丟棄重復(fù)出現(xiàn)的數(shù)據(jù)塊,并將"結(jié)構(gòu)圖"作為原始數(shù)據(jù)(文件)存儲。
圖二 重復(fù)數(shù)據(jù)刪除原理
重復(fù)數(shù)據(jù)刪除技術(shù)的關(guān)鍵在于數(shù)據(jù)塊"指紋"的生成和鑒別。數(shù)據(jù)塊"指紋"是鑒別數(shù)據(jù)塊是否重復(fù)的依據(jù),如果不同數(shù)據(jù)塊的"指紋"相同,就會造成內(nèi)容丟失,產(chǎn)生不可恢復(fù)的嚴(yán)重后果。在目前的實際應(yīng)用中,一般都選擇MD5或SHA-1等標(biāo)準(zhǔn)雜湊(hash)算法生成的數(shù)據(jù)塊的摘要(digest)作為"指紋",以區(qū)分不同數(shù)據(jù)塊間存在的差異,從而保證不同數(shù)據(jù)塊之間不會發(fā)生沖突。但是,MD5,SHA-1等算法的計算過程非常復(fù)雜,純軟件計算很難滿足存儲應(yīng)用的性能需求,"指紋"的計算往往成為重復(fù)數(shù)據(jù)刪除應(yīng)用的性能瓶頸。
目前,各廠商對各自重復(fù)數(shù)據(jù)刪除技術(shù)的效用都有不同描述,一般都聲稱能將數(shù)據(jù)量減少到原數(shù)據(jù)的3% ~ 5%,即具有20:1 ~ 30:1的壓縮比。
數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除技術(shù)都著眼于減少數(shù)據(jù)量,其差別在于數(shù)據(jù)壓縮技術(shù)的前提是信息的數(shù)據(jù)表達(dá)存在冗余,以信息論研究作為基礎(chǔ);而重復(fù)數(shù)據(jù)刪除的實現(xiàn)依賴數(shù)據(jù)塊的重復(fù)出現(xiàn),是一種實踐性技術(shù)。這兩種技術(shù)具有不同層面的針對性,并能夠結(jié)合起來使用,從而實現(xiàn)更高的數(shù)據(jù)縮減比例(40:1 ~ 90:1)。需要注意的是,如果同時應(yīng)用數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除技術(shù),為了降低對系統(tǒng)的處理需求,通常需要先應(yīng)用數(shù)據(jù)刪除技術(shù),然后再使用數(shù)據(jù)壓縮技術(shù)進(jìn)一步降低"結(jié)構(gòu)圖"和基本數(shù)據(jù)塊的體積。
在歸檔應(yīng)用中,存儲的數(shù)據(jù)主要是文件在不同時間的各個歷史版本,版本間的差異通常并不是很大,文件中往往有相當(dāng)一部分內(nèi)容并未發(fā)生改變,重復(fù)數(shù)據(jù)刪除技術(shù)因而具有較大的應(yīng)用空間和效能;同時,作為有特定意義的文件內(nèi)容,使用數(shù)據(jù)壓縮技術(shù)通常也可以獲得2:1以上的壓縮比。因此,針對歸檔應(yīng)用,集成重復(fù)數(shù)據(jù)刪除和數(shù)據(jù)壓縮技術(shù)將可帶來顯著且可以預(yù)期的好處,實現(xiàn)90%以上的整體數(shù)據(jù)量縮減。
需要注意的是,由于數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除技術(shù)都系統(tǒng)處理能力有較高要求,為了保證整體性能,在預(yù)算允許的范圍內(nèi),應(yīng)該注意選擇具有相關(guān)硬件加速的方案。目前,市場上能夠同時具有壓縮和雜湊算法的解決方案并不多,主要由LZS算法的專利擁有者Hifn, Inc提供。除了常見的標(biāo)準(zhǔn)加密和摘要算法,Hifn的安全處理器和相應(yīng)加速卡基本都集成有壓縮處理能力,提供20MB/s ~ 250MB/s的處理能力。最近還專門推出了DR 250/255數(shù)據(jù)縮減加速卡,通過PCI-X和PCI-Express接口為存儲系統(tǒng)提供250MB/s的數(shù)據(jù)壓縮和摘要計算加速,并能夠同時進(jìn)行加密或解密處理,使系統(tǒng)能夠在實現(xiàn)數(shù)據(jù)縮減的同時,提高對數(shù)據(jù)的保護(hù)級別。據(jù)稱,Hifn下一代數(shù)據(jù)縮減產(chǎn)品處理能力將達(dá)到1.6GB/s,并支持IEEE P1619/1619.1標(biāo)準(zhǔn)的磁盤/磁帶加密,計劃將于今年下半年正式推向市場。