Zstandard (zstd) es un algoritmo de compresión de datos sin pérdida desarrollado por Facebook (ahora Meta) que busca un equilibrio óptimo entre la velocidad de compresión/descompresión y la relación de compresión. Utiliza una combinación de algoritmos como LZ77 (para encontrar secuencias repetidas), Huffman coding (para codificar símbolos) y Finite State Entropy (FSE) para la codificación de entropía, lo que le permite superar a algoritmos más antiguos como zlib en velocidad de descompresión, manteniendo o mejorando la relación de compresión. Ofrece una amplia gama de niveles de compresión, permitiendo a los usuarios ajustar el rendimiento según sus necesidades específicas, desde compresión ultrarrápida con menor ratio hasta compresión muy densa con mayor coste computacional.

En el mundo real, zstd ha sido adoptado ampliamente debido a su rendimiento superior. Es el algoritmo de compresión por defecto en el sistema de archivos Btrfs y se utiliza en ZFS para la compresión de datos en línea, mejorando la eficiencia del almacenamiento y el rendimiento de I/O. Docker lo emplea para la compresión de capas de imágenes, acelerando la descarga y el despliegue de contenedores. Amazon S3 y CloudFront lo soportan para la compresión de objetos y la entrega de contenido. Además, se utiliza en herramientas de backup como `borgbackup` y en bases de datos como RocksDB y ClickHouse para comprimir datos en disco, reduciendo el footprint de almacenamiento y mejorando la latencia de lectura.

Para un arquitecto, zstd es una herramienta estratégica valiosa para optimizar el almacenamiento y el rendimiento en sistemas distribuidos. Su capacidad para ofrecer una descompresión extremadamente rápida lo hace ideal para cargas de trabajo de lectura intensiva, donde la latencia es crítica. Al elegir zstd, un arquitecto puede reducir significativamente los requisitos de almacenamiento y el ancho de banda de red, lo que se traduce en menores costes de infraestructura y una mejor experiencia de usuario. Los trade-offs implican seleccionar el nivel de compresión adecuado: niveles más bajos ofrecen mayor velocidad de compresión y menor ratio, mientras que niveles más altos mejoran el ratio a expensas de la velocidad de compresión. La flexibilidad de zstd permite a los arquitectos ajustar estos parámetros para equilibrar el uso de CPU, el espacio en disco y la latencia de acceso a los datos según los SLAs de la aplicación.