隨著信息化技術(shù)的發(fā)展和深入,企業(yè)對(duì)數(shù)據(jù)的依賴不斷增強(qiáng)。與此同時(shí),急速增長(zhǎng)的數(shù)據(jù)量也給管理和使用都帶來了全新的挑戰(zhàn)。IDC最新報(bào)告顯示,2007年新增數(shù)據(jù)量(281 ExaByte)已經(jīng)超過所有可用存儲(chǔ)介質(zhì)總?cè)萘浚?64 ExaByte)約6%,并預(yù)計(jì)2011年數(shù)據(jù)總量將達(dá)到2006年的10倍。面對(duì)數(shù)據(jù)的爆炸性增長(zhǎng),僅僅提高系統(tǒng)運(yùn)算能力和增加存儲(chǔ)介質(zhì)容量已經(jīng)不能滿足高速發(fā)展的各種數(shù)據(jù)應(yīng)用,對(duì)高效數(shù)據(jù)縮減技術(shù)的需求已經(jīng)逐步顯現(xiàn)出來,并且越來越迫切。
目前能夠?qū)崿F(xiàn)數(shù)據(jù)縮減的技術(shù)主要有兩種:數(shù)據(jù)壓縮(Data Compression)和重復(fù)數(shù)據(jù)刪除(Data De-duplication)。簡(jiǎn)單來說,數(shù)據(jù)壓縮技術(shù)通過對(duì)數(shù)據(jù)重新編碼來降低其冗余度(redundancy);而重復(fù)數(shù)據(jù)刪除技術(shù)則著眼于刪除重復(fù)出現(xiàn)的數(shù)據(jù)塊。
數(shù)據(jù)壓縮
數(shù)據(jù)壓縮的起源可以追溯到信息論之父香農(nóng)(Shannon)在1947年提出的香農(nóng)編碼。1952年霍夫曼(Huffman)提出了第一種實(shí)用性的編碼算法實(shí)現(xiàn)了數(shù)據(jù)壓縮,該算法至今仍在廣泛使用。1977年以色列數(shù)學(xué)家Jacob Ziv 和Abraham Lempel提出了一種全新的數(shù)據(jù)壓縮編碼方式,Lempel-Ziv系列算法(LZ77和LZ78,以及若干變種)憑借其簡(jiǎn)單高效等優(yōu)越特性,最終成為目前主要數(shù)據(jù)壓縮算法的基礎(chǔ)。
Lempel-Ziv系列算法的基本思路是用位置信息替代原始數(shù)據(jù)從而實(shí)現(xiàn)壓縮,解壓縮時(shí)則根據(jù)位置信息實(shí)現(xiàn)數(shù)據(jù)的還原,因此又被稱作“字典式”編碼。目前存儲(chǔ)應(yīng)用中壓縮算法的工業(yè)標(biāo)準(zhǔn)(ANSI、QIC、IETF、FRF、TIA/EIA)是LZS(Lempel-Ziv-Stac),由Stac公司提出并獲得專利,當(dāng)前該專利權(quán)的所有者是Hifn, Inc.
LZS算法基于LZ77(如圖一)實(shí)現(xiàn),主要由兩部分構(gòu)成,滑窗(Sliding Window)和自適應(yīng)編碼(Adaptive Coding)。壓縮處理時(shí),在滑窗中查找與待處理數(shù)據(jù)相同的塊,并用該塊在滑窗中的偏移值及塊長(zhǎng)度替代待處理數(shù)據(jù),從而實(shí)現(xiàn)壓縮編碼。如果滑窗中沒有與待處理數(shù)據(jù)塊相同的字段,或偏移值及長(zhǎng)度數(shù)據(jù)超過被替代數(shù)據(jù)塊的長(zhǎng)度,則不進(jìn)行替代處理。LZS算法的實(shí)現(xiàn)非常簡(jiǎn)潔,處理比較簡(jiǎn)單,能夠適應(yīng)各種高速應(yīng)用。
![]() |
圖一 LZ77算法示意圖
|
數(shù)據(jù)壓縮的應(yīng)用可以顯著降低待處理和存儲(chǔ)的數(shù)據(jù)量,一般情況下可實(shí)現(xiàn)2:1 ~ 3:1的壓縮比。
重復(fù)數(shù)據(jù)刪除
在備份、歸檔等實(shí)際的存儲(chǔ)實(shí)踐中,人們發(fā)現(xiàn)有大量的重復(fù)數(shù)據(jù)塊存在,既占用了傳輸帶寬又消耗了相當(dāng)多的存儲(chǔ)資源:有些新文件只是在原有文件上作了部分改動(dòng),還有某些文件存在著多份拷貝,如果對(duì)所有相同的數(shù)據(jù)塊都只保留一份實(shí)例,實(shí)際存儲(chǔ)的數(shù)據(jù)量將大大減少——這就是重復(fù)數(shù)據(jù)刪除技術(shù)的基礎(chǔ)。
這一做法最早由普林斯頓大學(xué)李凱教授(DataDomain的三位創(chuàng)始人之一)提出,稱之為全局壓縮(Global Compression),并作為容量?jī)?yōu)化存儲(chǔ)(Capacity Optimized Storage, COS)推廣到商業(yè)應(yīng)用。目前,除了DataDomain等專門廠商外,各主要存儲(chǔ)廠商如EMC、IBM、Symantec、FalconStor等等也都通過收購(gòu)或研發(fā)等途徑擁有了各自的重復(fù)數(shù)據(jù)刪除技術(shù),有的還并冠以別名,如單示例存儲(chǔ)(Single Instance Repository,SIR)等。
重復(fù)數(shù)據(jù)刪除的實(shí)現(xiàn)由三個(gè)基本操作組成,如圖二。首先,待處理數(shù)據(jù)(文件)被分割成固定或可變大小的數(shù)據(jù)塊,同時(shí)生成一張“結(jié)構(gòu)圖”顯示這些數(shù)據(jù)塊怎樣組成完整的原數(shù)據(jù)(文件);然后計(jì)算各數(shù)據(jù)塊的“指紋”(標(biāo)識(shí)),并根據(jù)“指紋”確認(rèn)該數(shù)據(jù)塊是否與其它數(shù)據(jù)塊相同;最后,丟棄重復(fù)出現(xiàn)的數(shù)據(jù)塊,并將“結(jié)構(gòu)圖”作為原始數(shù)據(jù)(文件)存儲(chǔ)。
重復(fù)數(shù)據(jù)刪除的實(shí)現(xiàn)由三個(gè)基本操作組成,如圖二。首先,待處理數(shù)據(jù)(文件)被分割成固定或可變大小的數(shù)據(jù)塊,同時(shí)生成一張“結(jié)構(gòu)圖”顯示這些數(shù)據(jù)塊怎樣組成完整的原數(shù)據(jù)(文件);然后計(jì)算各數(shù)據(jù)塊的“指紋”(標(biāo)識(shí)),并根據(jù)“指紋”確認(rèn)該數(shù)據(jù)塊是否與其它數(shù)據(jù)塊相同;最后,丟棄重復(fù)出現(xiàn)的數(shù)據(jù)塊,并將“結(jié)構(gòu)圖”作為原始數(shù)據(jù)(文件)存儲(chǔ)。
![]() |
圖二 重復(fù)數(shù)據(jù)刪除原理 |
重復(fù)數(shù)據(jù)刪除技術(shù)的關(guān)鍵在于數(shù)據(jù)塊“指紋”的生成和鑒別。數(shù)據(jù)塊“指紋”是鑒別數(shù)據(jù)塊是否重復(fù)的依據(jù),如果不同數(shù)據(jù)塊的“指紋”相同,就會(huì)造成內(nèi)容丟失,產(chǎn)生不可恢復(fù)的嚴(yán)重后果。在目前的實(shí)際應(yīng)用中,一般都選擇MD5或SHA-1等標(biāo)準(zhǔn)雜湊(hash)算法生成的數(shù)據(jù)塊的摘要(digest)作為“指紋”,以區(qū)分不同數(shù)據(jù)塊間存在的差異,從而保證不同數(shù)據(jù)塊之間不會(huì)發(fā)生沖突。但是,MD5,SHA-1等算法的計(jì)算過程非常復(fù)雜,純軟件計(jì)算很難滿足存儲(chǔ)應(yīng)用的性能需求,“指紋”的計(jì)算往往成為重復(fù)數(shù)據(jù)刪除應(yīng)用的性能瓶頸。
目前,各廠商對(duì)各自重復(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ù)刪除的實(shí)現(xiàn)依賴數(shù)據(jù)塊的重復(fù)出現(xiàn),是一種實(shí)踐性技術(shù)。這兩種技術(shù)具有不同層面的針對(duì)性,并能夠結(jié)合起來使用,從而實(shí)現(xiàn)更高的數(shù)據(jù)縮減比例(40:1 ~ 90:1)。需要注意的是,如果同時(shí)應(yīng)用數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除技術(shù),為了降低對(duì)系統(tǒng)的處理需求,通常需要先應(yīng)用數(shù)據(jù)刪除技術(shù),然后再使用數(shù)據(jù)壓縮技術(shù)進(jìn)一步降低“結(jié)構(gòu)圖”和基本數(shù)據(jù)塊的體積。
在歸檔應(yīng)用中,存儲(chǔ)的數(shù)據(jù)主要是文件在不同時(shí)間的各個(gè)歷史版本,版本間的差異通常并不是很大,文件中往往有相當(dāng)一部分內(nèi)容并未發(fā)生改變,重復(fù)數(shù)據(jù)刪除技術(shù)因而具有較大的應(yīng)用空間和效能;同時(shí),作為有特定意義的文件內(nèi)容,使用數(shù)據(jù)壓縮技術(shù)通常也可以獲得2:1以上的壓縮比。因此,針對(duì)歸檔應(yīng)用,集成重復(fù)數(shù)據(jù)刪除和數(shù)據(jù)壓縮技術(shù)將可帶來顯著且可以預(yù)期的好處,實(shí)現(xiàn)90%以上的整體數(shù)據(jù)量縮減。
需要注意的是,由于數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除技術(shù)都系統(tǒng)處理能力有較高要求,為了保證整體性能,在預(yù)算允許的范圍內(nèi),應(yīng)該注意選擇具有相關(guān)硬件加速的方案。目前,市場(chǎng)上能夠同時(shí)具有壓縮和雜湊算法的解決方案并不多,主要由LZS算法的專利擁有者Hifn, Inc提供。除了常見的標(biāo)準(zhǔn)加密和摘要算法,Hifn的安全處理器和相應(yīng)加速卡基本都集成有壓縮處理能力,提供20MB/s ~ 250MB/s的處理能力。最近還專門推出了DR 250/255數(shù)據(jù)縮減加速卡,通過PCI-X和PCI-Express接口為存儲(chǔ)系統(tǒng)提供250MB/s的數(shù)據(jù)壓縮和摘要計(jì)算加速,并能夠同時(shí)進(jìn)行加密或解密處理,使系統(tǒng)能夠在實(shí)現(xiàn)數(shù)據(jù)縮減的同時(shí),提高對(duì)數(shù)據(jù)的保護(hù)級(jí)別。據(jù)稱,Hifn下一代數(shù)據(jù)縮減產(chǎn)品處理能力將達(dá)到1.6GB/s,并支持IEEE P1619/1619.1標(biāo)準(zhǔn)的磁盤/磁帶加密,計(jì)劃將于今年下半年正式推向市場(chǎng)。
本文出自 51CTO.COM技術(shù)博客