2.重刪的基本概念
重刪是一門非常老的學(xué)問,歷史上有很多人研究過數(shù)據(jù)重刪,這里就不介紹了。
這里我們借用維基百科來快速了解一下重刪技術(shù):
詳見https://en.wikipedia.org/wiki/Data_deduplication {在計算中,重復(fù)數(shù)據(jù)刪除是一種專門的數(shù)據(jù)壓縮技術(shù),用于消除重復(fù)數(shù)據(jù)的重復(fù)副本。相關(guān)和稍微同義的術(shù)語是智能(數(shù)據(jù))壓縮和單實例(數(shù)據(jù))存儲。此技術(shù)用于提高存儲利用率,還可以應(yīng)用于網(wǎng)絡(luò)數(shù)據(jù)傳輸,以減少必須發(fā)送的字節(jié)數(shù)。在重復(fù)數(shù)據(jù)刪除過程中,在分析過程中識別并存儲唯一的數(shù)據(jù)塊或字節(jié)模式。隨著分析的繼續(xù),將其他塊與存儲的副本進行比較,并且每當(dāng)匹配發(fā)生時,冗余塊被替換為指向存儲的塊的小引用。鑒于相同的字節(jié)模式可能會發(fā)生數(shù)十次,數(shù)百次甚至數(shù)千次(匹配頻率取決于塊大?。?,所以必須存儲或傳輸?shù)臄?shù)據(jù)量可以大大減少。此類重復(fù)數(shù)據(jù)刪除與標(biāo)準(zhǔn)文件壓縮工具(如LZ77和LZ78)執(zhí)行的重復(fù)數(shù)據(jù)刪除不同。雖然這些工具識別單個文件中的短重復(fù)子串,但基于存儲的重復(fù)數(shù)據(jù)刪除的目的是檢查大量數(shù)據(jù)并識別相同的大型部分(例如整個文件或大部分文件),以便僅存儲一份副本。可以通過單文件壓縮技術(shù)另外壓縮該副本。例如,典型的電子郵件系統(tǒng)可能包含100個相同1 MB(兆字節(jié))文件附件的實例。每次備份電子郵件平臺時,都會保存所有100個附件實例,需要100 MB的存儲空間。通過重復(fù)數(shù)據(jù)刪除,實際只存儲了一個附件實例;后續(xù)實例被引用回保存的副本,重復(fù)數(shù)據(jù)刪除率大約為100比1。}
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),巴州企業(yè)網(wǎng)站建設(shè),巴州品牌網(wǎng)站建設(shè),網(wǎng)站定制,巴州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,巴州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
從維基百科的介紹可以看出,重刪在特定的應(yīng)用場景下有著非常大的作用(如:郵件系統(tǒng))。
3.開源的重刪技術(shù)
目前開源的deduplication有大致如下幾種:
dm dedup 、openzfs、btrfs、opendedup等。
除了dm dedup外其他的都是文件系統(tǒng)級別的重刪功能。
所以dm dedup也是我知道的塊級重刪的唯一開源項目。
4.文件級重刪和塊級重刪的區(qū)別
文件和塊級重刪在本質(zhì)上是沒有區(qū)別,他們的目的都是去比較重復(fù)的數(shù)據(jù),用引用來代替實例來節(jié)省空間的方法,但是從stack的角度,他們有很大的區(qū)別。眾所周知,我們構(gòu)建一個存儲系統(tǒng),其中功能的完備性在 I/O stack的越底層,那么它的作用范圍就會越大,兼容性就會越好,但應(yīng)用感知能力也會越差。我們知道在一般的linux系統(tǒng)中文件系統(tǒng)一般都是構(gòu)建在塊設(shè)備之上,所以重刪的功能如果在塊級,那么就可以兼容那些缺少重刪功能的穩(wěn)定文件系統(tǒng),比如ext4,xfs等。所以我認(rèn)為這是重刪功能在塊級非常重要的一點。還有一點是,針對那些直接需要塊存儲的導(dǎo)出系統(tǒng)(openstack cinder,vmware exsi,和一些集群文件系統(tǒng)),不管是server san還是標(biāo)準(zhǔn)san內(nèi)部實現(xiàn)塊級重刪也是再好不過了,如果使用openzfs/btrfs支持塊級子卷的導(dǎo)出在性能上必會有大的損失,所以能在塊級直接實現(xiàn)重刪功能是非常有意義的事情。
【本文只在51cto博客作者 “底層存儲技術(shù)” https://blog.51cto.com/12580077 個人發(fā)布,公眾號發(fā)布:存儲之谷】,如需轉(zhuǎn)載,請于本人聯(lián)系,謝謝。