Deduplicarea (de asemenea, deduplicarea ; din latină deduplicatio - eliminarea duplicatelor) este o metodă specializată de compresie a matricei de date care utilizează eliminarea copiilor duplicate ale datelor repetitive ca algoritm de compresie. Această metodă este de obicei folosită pentru a optimiza utilizarea spațiului pe disc în sistemele de stocare , cu toate acestea, poate fi folosită și în comunicarea în rețea pentru a reduce cantitatea de informații transferate.
În procesul de deduplicare, bucăți unice de informații de o dimensiune fixă ( bucăți engleze ) sunt identificate și stocate în timpul analizei . Pe măsură ce analiza progresează, toate elementele noi și cele vechi sunt comparate. Când un element duplicat este identificat, acesta este înlocuit cu o referință la o apariție unică (sau o referință existentă este redirecționată către acesta), iar spațiul ocupat de duplicat este eliberat. Pot exista o mulțime de astfel de elemente repetate, datorită cărora volumul necesar pentru a salva o serie de date poate fi redus foarte mult.
Cu toate acestea, deduplicarea nu trebuie confundată cu algoritmi de compresie mai tradiționali, cum ar fi LZ77 sau LZO . Acești algoritmi caută într-un anumit buffer al unui singur fișier (așa-numita „fereastră glisantă”), în timp ce algoritmul de deduplicare caută copii pe o cantitate imensă de date.
Deduplicarea poate reduce cantitatea de spațiu necesară pentru un anumit set de fișiere. Este cel mai eficient în cazurile în care fișierele stocate nu sunt foarte diferite sau au multe asemănări, cum ar fi backup-urile în care majoritatea datelor rămân neschimbate față de ultima copie de rezervă. Sistemele de backup pot profita de această caracteristică folosind link-uri hard pentru a duplica fișiere sau prin copierea numai a fișierelor modificate. Cu toate acestea, aceste abordări pot fi de puțin folos dacă doar o mică parte de date s-a schimbat pentru un bloc mare de date (de exemplu, o bază de date sau o arhivă de mesaje e-mail).
În transmisia de date, deduplicarea poate fi utilizată pentru a reduce informațiile transmise, ceea ce economisește lățimea de bandă necesară a canalului de transmisie a datelor.
De asemenea, deduplicarea este utilizată pe scară largă în sistemele de virtualizare , unde deduplicarea vă permite să alocați condiționat elemente de date repetate ale fiecăruia dintre sistemele virtuale într-un spațiu separat.