備份重複資料刪除基礎

2021-10-12 10:23:03 字數 1238 閱讀 2346

資料去重

資料去重是一種在儲存系統中對資料進行無失真壓縮的方法

工作過程

如上圖所示,

首先對檔案進行分塊(可使用fcs, cdc),分塊(data chunks)之後求取資料塊的指紋(fingerprint, 即資料塊內容的雜湊值)

根據資料塊的雜湊值構建指紋索引,並儲存索引(index),索引、指紋等統稱為元資料資訊(metadata)

根據指紋索引找到指紋進行比較,若已經存在則不寫入,只寫入唯一塊(unique chunks) 優點

fcs

fcs 即fixed-sized chunking,固定大小的分塊

固定大小的分塊:根據位元組偏移量進行分塊,即按照固定的大小(例如:8kb)進行分塊

存在問題邊界偏移問題,即插入新的資料可能會導致重複資料無法被檢測到,如下圖所示插入資料ff後,無法檢測到重複的資料塊

cdc

cdc 即content-defined chunking,基於內容定義的分塊

基於內容定義的分塊

優點:可以解決固定大小分塊所產生的邊界偏移問題,導致的無法找到重複資料塊,具體如下所示

缺點計算密集型,耗時,是重刪系統的效能瓶頸

相關**

rapidcdc: leveraging duplicate locality to accelerate chunking in cdc-based deduplication systems *

design tradeoffs for data deduplication performance in backup workloads *

刪除重複資料

介紹兩種刪除重複行的方式 1.使用臨時表,分組找出重複部分的id進行刪除 刪除table goods info 中存在重複goods id的記錄 select identity int,1,1 as autoid,into temptable from goods info select min a...

sql刪除重複資料

1 建立表 create table dbo test id numeric 18,0 identity 1,1 not null primary key,name varchar 200 collate chinese prc ci as null remark varchar 1024 coll...

mysql刪除重複資料

最近遇到刪除重複資料的問題,先分享一下解決辦法,如有不完善之處還望包涵!舉例如下 mysql select from table03 id name degree 1 fly 90 2 fly 90 3 fly 90 4 fly 80 5 wang 90 6 wang 90 7 wang 90 8 ...