Deduplikation (også deduplikation ; fra latin deduplicatio - eliminering af dubletter) er en specialiseret dataarray-komprimeringsmetode , der bruger eliminering af duplikerede kopier af gentagne data som en komprimeringsalgoritme. Denne metode bruges normalt til at optimere brugen af diskplads i lagersystemer , men den kan også bruges i netværkskommunikation for at reducere mængden af overført information.
I processen med deduplikering identificeres og gemmes unikke informationer af en fast størrelse ( engelsk chunks ) . Efterhånden som analysen skrider frem, sammenlignes alle nye og gamle elementer. Når et dubletelement identificeres, erstattes det med en reference til en unik forekomst (eller en eksisterende reference omdirigeres til det), og pladsen optaget af duplikatet frigøres. Der kan være mange sådanne gentagne elementer, på grund af hvilke mængden, der kræves for at gemme en række data, kan reduceres betydeligt.
Deduplikering bør dog ikke forveksles med mere traditionelle kompressionsalgoritmer såsom LZ77 eller LZO . Disse algoritmer søger inden for en bestemt buffer i en enkelt fil (det såkaldte "glidende vindue"), mens deduplikeringsalgoritmen søger efter kopier over en enorm mængde data.
Deduplikering kan reducere mængden af plads, der kræves til et bestemt sæt filer. Det er mest effektivt i tilfælde, hvor de lagrede filer ikke er meget forskellige eller har mange ligheder, såsom sikkerhedskopier, hvor de fleste data forbliver uændrede fra sidste sikkerhedskopiering. Sikkerhedskopieringssystemer kan drage fordel af denne funktion ved at bruge hårde links til at dublere filer eller ved kun at kopiere ændrede filer. Disse tilgange kan dog være til ringe nytte, hvis kun et lille stykke data er ændret for en stor blok af data (f.eks. en database eller et arkiv af mailmeddelelser).
Ved datatransmission kan deduplikering bruges til at reducere den transmitterede information, hvilket sparer på den nødvendige båndbredde af datatransmissionskanalen.
Deduplikering er også meget udbredt i virtualiseringssystemer , hvor deduplikering giver dig mulighed for betinget at allokere gentagne dataelementer fra hvert af de virtuelle systemer til et separat rum.