摘要:本文討論了目前數(shù)據(jù)備份系統(tǒng)中的幾種數(shù)據(jù)去重技術(shù),并分析了去重技術(shù)將面臨的挑戰(zhàn),以期對(duì)數(shù)據(jù)去重技術(shù)做一個(gè)總結(jié)和展望。
關(guān)鍵詞:數(shù)據(jù)備份;數(shù)據(jù)去重;數(shù)據(jù)碎片;去重技術(shù)
中圖分類號(hào):TP309.3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-7712 (2012) 18-0043-01
一、數(shù)據(jù)去重技術(shù)
(一)全局去重和局部去重技術(shù)。可分為全局去重和局部去重技術(shù)。全局去重主要應(yīng)用在有多個(gè)去重設(shè)備的環(huán)境里,它會(huì)對(duì)多個(gè)已去重的庫、目標(biāo)和站點(diǎn)進(jìn)行數(shù)據(jù)的比對(duì),然后對(duì)重復(fù)數(shù)據(jù)進(jìn)行刪除。它可以刪除多節(jié)點(diǎn)間的冗余數(shù)據(jù)。使用全局去重后,如果數(shù)據(jù)從第一個(gè)節(jié)點(diǎn)傳遞到第二個(gè)節(jié)點(diǎn),那么第一個(gè)節(jié)點(diǎn)存儲(chǔ)過的數(shù)據(jù),第二個(gè)節(jié)點(diǎn)將不再存儲(chǔ)。
局部去重則不考慮多個(gè)節(jié)點(diǎn)間的冗余數(shù)據(jù),它僅刪除同一臺(tái)機(jī)器、同一個(gè)客戶端、或同一個(gè)存儲(chǔ)節(jié)點(diǎn)上的冗余數(shù)據(jù)。
這兩種去重方式,全局去重的壓縮率要比局部去重的壓縮率高,因?yàn)槿秩ブ乇染植咳ブ厮鶆h除掉的重復(fù)數(shù)據(jù)要多;但是局部去重的開銷要比全局去重的開銷少,因?yàn)槿秩ブ匦枰獙?duì)多個(gè)存儲(chǔ)節(jié)點(diǎn)上的數(shù)據(jù)進(jìn)行查詢,刪除多個(gè)節(jié)點(diǎn)之間存在的重復(fù)數(shù)據(jù),其帶來的開銷也會(huì)比局部去重大很多。也正是因?yàn)檫@一點(diǎn),很多公司,實(shí)現(xiàn)的全局去重所關(guān)注的存儲(chǔ)節(jié)點(diǎn)數(shù)也非常有限的。
(二)文件級(jí)和數(shù)據(jù)塊級(jí)(字節(jié)級(jí))去重技術(shù)。根據(jù)重復(fù)數(shù)據(jù)的鑒別粒度,數(shù)據(jù)去重可分為文件級(jí)的去重技術(shù)(單實(shí)例存儲(chǔ)技術(shù))和數(shù)據(jù)塊級(jí)(字節(jié)級(jí))去重技術(shù)。
文件級(jí)的重復(fù)數(shù)據(jù)去重技術(shù)使用哈希函數(shù)計(jì)算每個(gè)文件內(nèi)容的哈希值,然后根據(jù)索引檢查需要備份的文件屬性,并與已經(jīng)存儲(chǔ)的文件進(jìn)行比較,如果兩個(gè)文件的哈希值相同,則刪除相同內(nèi)容的文件來減少數(shù)據(jù)存儲(chǔ)量,節(jié)約存儲(chǔ)空間,如果哈希值不同,就將其存儲(chǔ)。
數(shù)據(jù)塊級(jí)的重復(fù)數(shù)據(jù)去重技術(shù)是在子文件的級(jí)別上運(yùn)行的,主要通過刪除內(nèi)容相同的數(shù)據(jù)塊來減少數(shù)據(jù)量。正如它的名字,文件或數(shù)據(jù)流通常在這里會(huì)被分割為較小的數(shù)據(jù)塊(每個(gè)供應(yīng)商檢查的數(shù)據(jù)塊大小不一,一些供應(yīng)商固定數(shù)據(jù)塊的大小,一些則使用不同大小的塊,數(shù)據(jù)塊的平均大小一般在4KB~8KB左右),然后使用哈希函數(shù)求取每個(gè)數(shù)據(jù)塊的哈希值,這些哈希值常被稱為數(shù)據(jù)塊指紋。數(shù)據(jù)塊指紋是用來唯一標(biāo)識(shí)一個(gè)數(shù)據(jù)塊的,具有相同指紋的兩個(gè)數(shù)據(jù)塊即為重復(fù)數(shù)據(jù)塊。
這兩種去重技術(shù),其中文件級(jí)的重復(fù)數(shù)據(jù)去重技術(shù)能達(dá)到的壓縮率較低,因?yàn)樗荒軇h除相似文件之間的重復(fù)數(shù)據(jù)。而數(shù)據(jù)塊級(jí)的數(shù)據(jù)去重技術(shù)由于不僅能刪除相同的文件,還能刪除相似文件中的相同數(shù)據(jù)塊因此有較高的壓縮率,它是目前為止使用最廣泛的數(shù)據(jù)去重技術(shù)。但是,由于數(shù)據(jù)塊級(jí)去重技術(shù)的鑒別和刪除粒度更細(xì),因此它帶來的開銷也比文件級(jí)的更大。
(三)在線去重技術(shù)和離線去重技術(shù)。根據(jù)重復(fù)數(shù)據(jù)的刪除時(shí)間劃分,數(shù)據(jù)去重技術(shù)可分為在線去重和離線去重技術(shù)。
在線去重技術(shù)是指在數(shù)據(jù)到達(dá)存儲(chǔ)設(shè)備之前就對(duì)重復(fù)數(shù)據(jù)進(jìn)行查找和刪除,存儲(chǔ)設(shè)備上不存儲(chǔ)重復(fù)的數(shù)據(jù)塊。由于査找和刪除重復(fù)數(shù)據(jù)這一過程發(fā)生在數(shù)據(jù)寫的關(guān)鍵路徑上,因而數(shù)據(jù)去重會(huì)對(duì)存儲(chǔ)系統(tǒng)的存儲(chǔ)性能產(chǎn)生一定的影響,嚴(yán)重的會(huì)影響存儲(chǔ)系統(tǒng)的數(shù)據(jù)寫性能。
離線去重需要額外的存儲(chǔ)空間做緩沖,是屬于后處理的去重模式,在運(yùn)行時(shí)不影響上層應(yīng)用程序的存儲(chǔ)性能,但需要額外的存儲(chǔ)空間做緩沖區(qū)。
目前,數(shù)據(jù)備份系統(tǒng)一般都使用在線去重技術(shù),因?yàn)楫?dāng)前的數(shù)據(jù)備份系統(tǒng)都不是實(shí)時(shí)應(yīng)用系統(tǒng),對(duì)存儲(chǔ)的性能要求也不高。如果是實(shí)時(shí)關(guān)鍵應(yīng)用或?qū)Υ鎯?chǔ)系統(tǒng)存儲(chǔ)性能要求很高,離線去重技術(shù)更合適。
(四)源端去重和目標(biāo)端去重技術(shù)。依據(jù)重復(fù)數(shù)據(jù)的刪除地點(diǎn),數(shù)據(jù)去重可以分為源端去重技術(shù)和目標(biāo)端去重技術(shù)。
源端去重技術(shù)即在數(shù)據(jù)的發(fā)送端,一般指客戶端,對(duì)數(shù)據(jù)進(jìn)行查找并刪除重復(fù)的數(shù)據(jù)。這種去重技術(shù)非常適合廣域網(wǎng)寬帶較低的網(wǎng)絡(luò)環(huán)境下的備份系統(tǒng),由于重復(fù)的數(shù)據(jù)不參與傳輸和運(yùn)輸,它可以減少傳輸?shù)臄?shù)據(jù)量,加快數(shù)據(jù)傳輸。但由于源端去重需要現(xiàn)在發(fā)送端進(jìn)行查找和刪除重復(fù)數(shù)據(jù),所以會(huì)占用源端機(jī)器資源,進(jìn)而影響源端機(jī)器的應(yīng)用性能。
目標(biāo)端去重即在數(shù)據(jù)的接收端、存儲(chǔ)端,查找并刪除重復(fù)的數(shù)據(jù)。由于目標(biāo)端去重只需要在目標(biāo)端,即服務(wù)器端對(duì)重復(fù)數(shù)據(jù)進(jìn)行查找和刪除,不需要源端進(jìn)行任何去重處理。因此在數(shù)據(jù)傳輸帶寬較高的情況下,目標(biāo)端去重更占優(yōu)勢。
二、數(shù)據(jù)去重技術(shù)面臨的挑戰(zhàn)
(一)數(shù)據(jù)去重的可擴(kuò)展性尚待提高。隨著數(shù)據(jù)量的不斷增長,數(shù)據(jù)備份系統(tǒng)仍需要應(yīng)對(duì)超大數(shù)據(jù)量這一問題。因此如何在多個(gè)存儲(chǔ)節(jié)點(diǎn)之間快速去重仍然是熱點(diǎn)研究問題。如何充分利用現(xiàn)有的存儲(chǔ)設(shè)備、建立多層次索引、減少去重開銷,快速查找重復(fù)數(shù)據(jù)仍是數(shù)據(jù)去重技術(shù)面臨的最大的問題。
(二)如何減少數(shù)據(jù)去重引起的數(shù)據(jù)碎片有待解決。數(shù)據(jù)去重需要?jiǎng)h除多個(gè)文件之間的重復(fù)數(shù)據(jù),首先由于現(xiàn)有大多數(shù)去重方法都傾向于利用數(shù)據(jù)冗余局部性來緩解數(shù)據(jù)去重過程中所遇到的磁盤瓶頸,提高數(shù)據(jù)去重吞吐率,但是隨著數(shù)據(jù)碎片逐漸增多,備份數(shù)據(jù)流之間出現(xiàn)的數(shù)據(jù)冗余局部性會(huì)減弱,從而導(dǎo)致依賴數(shù)據(jù)冗余局部性來緩解數(shù)據(jù)去重中磁盤瓶頸的數(shù)據(jù)去重方法失去其有效性,嚴(yán)重影響數(shù)據(jù)去重的性能。
其次由于數(shù)據(jù)去重的處理,一個(gè)文件產(chǎn)生的大量數(shù)據(jù)碎片將導(dǎo)致一個(gè)文件的讀取需要大量的磁盤1/0,甚至可能每讀取一個(gè)數(shù)據(jù)塊都需要一次磁盤1/0,大大降低了系統(tǒng)的數(shù)據(jù)讀性能。
(三)數(shù)據(jù)去重技術(shù)有待規(guī)范化。數(shù)據(jù)去重方法是否有效性取決于數(shù)據(jù)集中重復(fù)數(shù)據(jù)的特征,目前有很多種數(shù)據(jù)去重方法。然而,要使數(shù)據(jù)去重技術(shù)能廣泛應(yīng)用,無疑需要對(duì)目前所使用的數(shù)據(jù)去重技術(shù)以及對(duì)應(yīng)數(shù)據(jù)集的特征通過一個(gè)統(tǒng)一的標(biāo)準(zhǔn)來規(guī)范,給研究者提供一個(gè)標(biāo)準(zhǔn),給存儲(chǔ)用戶提供規(guī)范的接口,以便于未來數(shù)據(jù)去重技術(shù)的推廣。
本文通過探討當(dāng)前數(shù)據(jù)備份系統(tǒng)中的幾種數(shù)據(jù)去重技術(shù)的原理及其優(yōu)缺點(diǎn),分析目前數(shù)據(jù)去重技術(shù)所面臨的挑戰(zhàn),希望能為數(shù)據(jù)備份系統(tǒng)中的數(shù)據(jù)去重技術(shù)做一個(gè)總結(jié)和展望,以期未來更好的去應(yīng)對(duì)去重技術(shù)面臨的挑戰(zhàn)。
參考文獻(xiàn):
[1]譚玉娟.數(shù)據(jù)備份系統(tǒng)中數(shù)據(jù)去重技術(shù)研究[D].華中科技大學(xué),2012.