去重和壓縮 資料簡縮技術

2021-06-01 07:35:49 字數 1323 閱讀 1482

在備份系統,重複資料刪除是公認的技術術語,一般指消除備份資料集內的冗餘部分。

但是,對主儲存系統,資料簡縮卻是乙個更準備的術語中,因為並不是所有的主存系統都採用重複資料刪除技術。作為一類技術的總稱,任何能降低磁碟空間的技術都包括在資料簡縮的範圍之內。目前,資料簡縮技術主要包括三種:資料壓縮、檔案級的重複資料刪除、塊級(位元組級)的重複資料刪除。

那麼,備份系統和主存系統究竟有哪些分別?其實,最主要是對資料實體的儲存與訪問方式的差異。備份系統,是典型的批量寫,一般通過程序自動化處理,在這個過程中很少有讀,但生產系統的效能會有暫時的降低,不過不會對系統的使用產生 重大影響。而主存系統,是讀與寫隨機存在模式,如果在此過程中,系統效能產生比較重要的下降,乃至影響到使用者體驗,那生產成本的下降將毫無意義。而且,在主存系統中使用資料簡縮技術的另外乙個問題是,是否能達到與備份系統一樣的效果。所以說,當前,資料簡縮對主存系統是得是弊,殊難預料!

壓縮,主要是針對那些訪問頻率還是很高的檔案,優勢是技術成熟。在主存和備份系統中都有廣泛應用,是一種很成熟的技術。

檔案級去重。檔案級去重即在檔案系統中檢查並判斷兩個檔案是否完全相同。如果去重系統發現兩個相同的檔案,其中之一就會被指向另乙個檔案的指標所取代。這項技術的優點是不會影響資料的讀取效能,而且使用者開啟檔案時,也不需要進行解壓縮或者資料重組,它只是簡單地將多份訪問請求鏈結到同乙份資料。這種方法的缺點是效率問題,與壓縮技術或者塊級去重相比,它顯然無法達到同樣高的資料簡縮比率。

塊級重複資料刪除。這個方案與備份系統中使用的基於雜湊值比對的重複資料刪除非常相似。它將所有的檔案分解成資料塊,然後通過雜湊演算法,為每個塊建立乙個雜湊值,並與其他所有資料塊的雜湊值進行比對,如果兩個不同資料塊的雜湊值完全一致,其中的乙個塊就會被刪除,並用指向另乙個塊的指標來代替。針對某些資料型別,塊級去重的資料簡縮效果相當明顯。其中,對虛擬機器系統,尤其是桌面虛擬化系統的映像檔案,塊級去重的效果最為驚人。在這種環境下,將資料簡縮掉75%甚至90%都很常見。

塊級去重是全域性處理模式,能夠發現儲存空間內所有的重複資料,無論資料以怎樣的形式儲存,這是它的優點。這種方法的缺點是,它分割的資料塊較大。壓縮則恰好相反,壓縮是一種粒度級別更低的處理機制,比如,去重演算法可能將資料塊的大小定義為8kb,而乙個優秀的壓縮演算法會將塊的大小縮小到4kb。這就是為什麼有一些資料簡縮系統同時使用壓縮和去重兩種技術的原因。

greenbyte公司提供的塊級重複資料刪除,提供了乙個不同的實現,它使用自己的演算法,tiger!ms能提供更高的效能。

同許多其他廠商相比,ocarina networks公司採用的資料簡縮方法完全不同。多數廠商使用的壓縮和去重技術並不會識別資料的型別,而ocarina公司則有數百種不同的壓縮和去重演算法,針對每一種特定型別的資料。比如,他們使用完全不同的壓縮技術去處理word文件和影象檔案。

count去重和distinct去重

有兩種去重方法 1 select count distinct id from a 這個是將所有值都放入到記憶體中,key為列值,通過hash算出有多少個key就是多少行。2 select count 1 from select 1 from a group by id a,這個是通過group b...

hive 列表去重 Hive 資料去重

實現資料去重有兩種方式 distinct 和 group by 1.distinct消除重複行 distinct支援單列 多列的去重方式。單列去重的方式簡明易懂,即相同值只保留1個。多列的去重則是根據指定的去重的列資訊來進行,即只有所有指定的列資訊都相同,才會被認為是重複的資訊。1 作用於單列 se...

Hive資料去重

hive資料去重 insert overwrite table ta customers select t.ta id,t.ta date from select ta id,ta date row number over distribute by ta id sort by ta date de...