亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
1618
2022-05-29
在計算中,重復數據刪除是一種消除重復數據的技術。一個相關的、有點同義的術語是單實例(數據)存儲。這種技術用于提高存儲利用率,也可以應用于網絡數據傳輸,以減少必須發送的字節數。在重復數據刪除過程中,識別并存儲唯一的數據塊或字節模式。隨著分析的繼續進行,其他的chunks會與存儲的副本進行比較,每當出現匹配的情況時,冗余的chunks就會被一個指向存儲chunks的小引用所取代。鑒于同一個字節模式可能出現幾十次、幾百次甚至幾千次(匹配頻率取決于塊大?。?,可以大大減少必須存儲或傳輸的數據量。
重復數據刪除與LZ77和LZ78等數據壓縮算法不同。壓縮算法可以識別單個文件內部的冗余數據,并對這些冗余數據進行更有效的編碼,而重復數據刪除的意圖是檢查大量數據,并識別出大段的數據(比如整個文件或大段的文件)是相同的,并將其替換為共享副本。例如,一個典型的電子郵件系統可能包含100個相同的1 MB(兆字節)文件附件實例。每次郵件平臺備份時,附件的100個實例全部保存,需要100MB的存儲空間。在數據重復數據刪除的情況下,實際上只需保存附件的一個實例,后續的實例會被引用到保存的副本上,重復數據刪除的比例大概是100比1。重復數據刪除通常與數據壓縮配合使用,以節省額外的存儲空間。重復數據刪除首先用于消除大塊重復數據,然后使用壓縮技術對每個存儲的數據塊進行有效編碼。
1??????好處
基于存儲的重復數據刪除技術減少了給定文件集所需的存儲量。在應用中,當許多非常相似甚至相同的數據副本被存儲在一個磁盤上時,這種技術是最有效的。在為防止數據丟失而例行進行的數據備份中,特定備份中的大部分數據與之前的備份相比沒有變化。常見的備份系統試圖利用這一點,省略(或硬鏈接)沒有變化的文件或存儲文件之間的差異。然而,這兩種方法都沒有定位所有的冗余。
硬鏈接對那些只發生了微小變化的大文件沒有幫助,例如電子郵件數據庫;差異只能在單個文件的相鄰版本中找到冗余(考慮一個被刪除的部分,后來又加進去了,或者在許多文件中包含了一個標志圖片)。
在線網絡重復數據刪除用于減少在端點之間傳輸的字節數,這可以減少所需的帶寬。
虛擬服務器和虛擬桌面受益于重復數據刪除技術,因為它允許每個虛擬機上獨立的系統文件被存放到一個單一的存儲空間。
同時,如果一個給定的虛擬機定制了一個文件,重復數據刪除技術將不會改變其他虛擬機上的文件。這是硬鏈接或共享磁盤等替代技術所不能提供的功能。此處,備份或制作虛擬環境的副本也同樣得到了改進。
2??????重復數據刪除技術的種類,方法和關注點
2.1????后處理與在線重復數據刪除技術的比較
重復數據刪除可以在數據流動時?"在線"進行,也可以在數據寫入后"再處理"。
后處理重復數據刪除的步驟是,新的數據首先存儲在存儲設備上,然后在以后的時間里,一個進程會分析數據,尋找重復的數據。這樣做的好處是不需要等待哈希計算和查找完成后再存儲數據,從而保證存儲性能不降低。
提供基于策略的操作的實現可以讓用戶能夠推遲對?"活動"文件的優化,或者根據類型和位置來處理文件。一個潛在的缺點是,重復的數據可能會在短時間內被不必要地存儲,如果系統接近滿負荷,就會出現問題。
另外,重復數據刪除的哈希計算也可以在線進行:在數據進入目標設備時同步進行。如果存儲系統識別出一個已經存儲過的塊,則只存儲對現有塊的引用,而不是整個新塊。
與后處理重復數據刪除相比,在線重復數據刪除的優勢在于它需要較少的存儲和網絡流量,因為重復數據永遠不會被存儲或傳輸。不好的一面是,哈希計算可能在計算上很昂貴,從而降低了存儲吞吐量。
然而,某些擁有在線重復數據刪除功能的廠商已經展示了能夠高速執行在線重復數據刪除的設備。
后處理和在線重復數據刪除方法經常引起大量的爭論,褒貶不一。
2.2????數據格式對比
重復數據刪除的兩種方法:
l??內容無關的重復數據刪除--一種不需要了解特定應用數據格式的重復數據刪除方法。
l??內容感知重復數據刪除--一種利用特定應用數據格式知識的重復數據刪除方法。
2.3????源與目標重復數據刪除
另一種重復數據刪除方法的分類方式是根據重復數據刪除的發生地來進行分類。在數據創建地附近發生的重復數據刪除被稱為?"源重復數據刪除"。當它發生在數據存儲的地方附近時,它被稱為?"目標重復數據刪除"。
源重復數據刪除確保數據源上的數據是重復數據刪除的。這一般是直接在文件系統內進行的。文件系統會定期掃描新文件創建哈希值,并與現有文件的哈希值進行比較。當發現有相同哈希值的文件時,那么文件拷貝就會被刪除,新文件指向舊文件。但與硬鏈接不同的是,重復的文件被認為是獨立的實體,如果其中一個重復的文件后來被修改了,那么使用一個叫做copy-on-write的系統就會創建一個修改后的文件或塊的副本。
重復數據刪除過程對用戶和備份應用是透明的。備份一個使用重復數據刪除技術的文件系統經常會導致重復發生,導致備份比源數據更大。
對于復制操作,可以明確聲明源重復數據刪除,因為不需要計算就知道復制的數據需要重復數據刪除。這就導致了文件系統上一種新的?"鏈接"形式,稱為reflink(Linux)或clonefile(MacOS),一個或多個inodes(文件信息條目)被做成共享部分或全部數據。它的命名類似于工作在inode級別的硬鏈接和工作在文件名級別的符號鏈接,各個條目的復制-寫行為是非鋸齒的,即更改一個副本后不會影響其他副本,微軟的ReFS也支持這種操作。
目標重復數據刪除是指當數據離開生成位置時,刪除重復數據的過程。這方面的例子是連接到SAN/NAS的服務器。服務器不知道任何重復數據刪除,一般來說,此時是一個備份存儲,如數據存儲庫或虛擬磁帶庫。
2.4????重復數據刪除方法
最常見的重復數據刪除實現形式之一是通過比較數據塊來檢測重復數據。為此,每個數據塊都被分配了一個標識,由軟件計算,通常使用加密哈希函數。
在許多實現中,如果標識相同,則數據也是相同的,當然由于鴿子洞原則,這不可能在所有情況下都是正確的。
另一些實現并不假設具有相同標識的兩個數據塊是相同的,而是實際驗證具有相同標識的數據是相同的。
具體來說這取決于實現方法,如果找到相同的快,算法程序將用一個鏈接替換該重復的塊。
當被重復數據刪除后,在回讀文件時,無論在哪里發現鏈接,系統都會簡單地用引用的數據塊替換該鏈接。重復數據刪除過程對終端用戶和應用程序是透明的。
商業重復數據刪除的實現因其分塊方法和架構而不同。
l??分塊。在某些系統中,分塊是由物理層約束定義的(如WAFL中的4KB塊大?。?。在一些系統中,只比較完整的文件,這稱為單實例存儲或SIS。一般認為,分塊最智能(但耗費CPU)的方法是滑動塊。在滑動塊中,沿文件流傳遞一個窗口,以尋找更自然的內部文件邊界。
l??客戶端備份重復數據刪除。這是最初在源機(客戶端)上創建重復數據刪除哈希計算的過程。與目標設備中已有的文件有相同哈希的文件不會被發送,目標設備只是創建相應的內部鏈接來引用重復的數據。這樣做的好處是避免了數據不必要地在網絡上發送,從而減少了流量負荷。
l??一次存儲和二次存儲。根據定義,主存儲系統的設計是為了實現最佳性能,而不是最低成本。這些系統的設計標準是為了提高性能,而犧牲了其他方面的考慮。此外,主存儲系統對任何可能對性能產生負面影響的操作的容忍度要低得多。同時從定義上看,二級存儲系統主要包含數據的重復,或者說二級副本。這些數據副本通常不用于實際生產操作,因此對一些性能下降的容忍度較高,以換取效率的提高。
到目前為止,重復數據刪除技術主要用于二級存儲系統。原因有二。首先,數據重復刪除過程需要系統開銷來發現和刪除重復數據。在主存儲系統中,這種開銷可能會影響性能。二級數據之所以使用重復數據刪除技術,第二個原因是二級數據往往有更多的重復數據。尤其是備份應用,隨著時間的推移,通常會產生大量的重復數據。
值得一提的是,在一些系統設計不需要大量開銷,或者不影響性能的情況下,重復數據刪除技術已經可以與主存儲成功部署了。
2.5????單一實例存儲
單實例存儲(SIS)是指系統能夠將內容對象的多個副本,用一個共享副本代替。它是消除數據重復、提高效率的一種手段。SIS經常在文件系統、電子郵件服務器軟件、數據備份和其他存儲相關的計算機軟件中實現。單實例存儲是重復數據刪除技術的一種簡單變體。重復數據刪除可以在段或子塊級工作,而單實例存儲可以在對象級數據上工作,從而消除了對象的冗余副本,如整個文件或電子郵件信息。
2.6????缺點和關切
重復數據的一種方法是依靠使用加密哈希函數來識別數據的重復部分。
如果兩個不同的信息產生相同的哈希值,也就是所謂的哈希碰撞,碰撞的概率主要取決于哈希長度。
因此,人們不得不擔心如果發生哈希碰撞,就會出現數據損壞的情況,而沒有采用額外的驗證手段來驗證數據是否存在差異。
在線和后處理架構都可以提供原始數據的位對位驗證,以保證數據的完整性,使用的哈希函數包括SHA-1、SHA-256等標準。
這個過程的計算資源強度可能是重復數據刪除的一個缺點。為了提高性能,一些系統同時利用弱哈希和強哈希。弱哈希的計算速度更快,但哈希碰撞的風險更大。利用弱哈希的系統隨后會計算出一個強哈希,并將其作為決定是否為同一數據的關鍵因素。
請注意,計算和查找哈希值相關的系統開銷主要是重復數據刪除工作流的任務。文件的重構開銷不算在內,任何與重新組裝數據塊相關的增量性能懲罰都不應該計算在內。
另一個關注點是壓縮和加密的相互作用。加密的目標是消除數據中任何可辨認的模式。因此,加密數據不能被重復復制,即使基礎數據可能是冗余的。
雖然不是重復數據刪除技術的缺點,但當對大型重復數據存儲庫使用不夠安全和訪問驗證程序時,曾發生過數據泄露事件。在某些系統中,作為云存儲的典型,攻擊者可以通過探知或猜測所需數據的哈希值來檢索他人擁有的數據。
2.7????執行情況
重復數據刪除技術目前在一些文件系統中得到了實現,如ZFS或Write Anywhere File Layout以及不同的磁盤陣列模型中。
3??????參考
https://en.wikipedia.org/wiki/Deduplication#:~:text=The%20term%20deduplication%20refers%20generally,in%20two%20or%20more%20files
https://en.wikipedia.org/wiki/Data_deduplication
https://www.netapp.com/us/info/what-is-data-deduplication.aspx
https://docs.microsoft.com/en-us/windows-server/storage/data-deduplication/overview
https://searchstorage.techtarget.com/definition/data-deduplication
https://en.wikipedia.org/wiki/Record_linkage
軟件開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。