La deduplicación (también deduplicación ; del latín deduplicatio - eliminación de duplicados) es un método especializado de compresión de matriz de datos que utiliza la eliminación de copias duplicadas de datos repetitivos como algoritmo de compresión. Este método generalmente se usa para optimizar el uso del espacio en disco en los sistemas de almacenamiento , sin embargo, también se puede usar en la comunicación de redes para reducir la cantidad de información transferida.
En el proceso de deduplicación, se identifican y almacenan piezas únicas de información de un tamaño fijo ( fragmentos en inglés ) durante el análisis. A medida que avanza el análisis, se comparan todos los elementos nuevos y antiguos. Cuando se identifica un elemento duplicado, se reemplaza con una referencia a una ocurrencia única (o se redirige a una referencia existente) y se libera el espacio ocupado por el duplicado. Puede haber muchos de estos elementos repetitivos, por lo que el volumen necesario para guardar una matriz de datos puede reducirse considerablemente.
Sin embargo, la deduplicación no debe confundirse con los algoritmos de compresión más tradicionales, como LZ77 o LZO . Estos algoritmos buscan dentro de un determinado búfer de un solo archivo (la llamada "ventana deslizante"), mientras que el algoritmo de deduplicación busca copias de una gran cantidad de datos.
La deduplicación puede reducir la cantidad de espacio requerido para un conjunto particular de archivos. Es más eficaz en los casos en que los archivos almacenados no son muy diferentes o tienen muchas similitudes, como las copias de seguridad en las que la mayoría de los datos permanecen sin cambios desde la última copia de seguridad. Los sistemas de copia de seguridad pueden aprovechar esta función mediante el uso de enlaces físicos para duplicar archivos o copiando solo los archivos modificados. Sin embargo, estos enfoques pueden ser de poca utilidad si solo se ha cambiado una pequeña parte de los datos por un gran bloque de datos (por ejemplo, una base de datos o un archivo de mensajes de correo).
En la transmisión de datos, la deduplicación se puede utilizar para reducir la información transmitida, lo que ahorra el ancho de banda requerido del canal de transmisión de datos.
Además, la deduplicación se usa ampliamente en los sistemas de virtualización , donde la deduplicación le permite asignar condicionalmente elementos de datos repetidos de cada uno de los sistemas virtuales en un espacio separado.