zstd: un algoritmo de compresión de datos rápido utilizado por Facebook

zstd: un algoritmo de compresión de datos rápido utilizado por Facebook

Zstandard. (también conocido como zstd. es un programa gratuito de compresión de datos de código abierto, rápido en tiempo real con mejores relaciones de compresión, desarrollado por Facebook . Es un algoritmo de compresión sin pérdidas escrito en C. (hay una reimplementación en Java. , por lo que es un programa nativo de Linux.

Lea también. 10 ejemplos de comandos 7zip (compresión de datos) en Linux

Cuando sea necesario, puede cambiar la velocidad de compresión por relaciones de compresión más fuertes (la compensación entre velocidad de compresión y relación de compresión se puede configurar mediante pequeños incrementos), viceversa. Tiene un modo especial para la compresión de datos pequeños, conocido como compresión de diccionario, y puede crear diccionarios a partir de cualquier conjunto de muestra proporcionado. Viene con una utilidad de línea de comandos para crear y decodificar .zst. .gz. .xz. y .lz4.

Es importante destacar que Zstandard. tiene una rica colección de API, es compatible con casi todos los lenguajes de programación populares, incluidos Python, Java, JavaScript, Nodejs, Perl, Ruby, C #, Go, Rust, PHP, Switft y mucho más.

Se utiliza activamente para comprimir grandes volúmenes de datos en múltiples formatos y casos de uso en Facebook. servicios como el almacenamiento de datos de Amazon Redshift. bases de datos como Hadoop y Redis; la red Tor y muchas otras aplicaciones, incluidos los juegos.

freestar.config.enabled_slots.push

Los siguientes resultados se obtienen haciendo varias compresiones rápidas pruebas de algoritmos en un servidor que ejecuta Linux Debian usando lzbench, una herramienta de referencia en memoria de código abierto.

Prueba de compresión estándar Z  Prueba de compresión estándar Z Prueba de compresión estándar Z

Cómo instalar la herramienta de compresión Zstandard en Linux

Para instalar Zstandard. en una distribución de Linux ibution, debe compilarlo a partir de las fuentes, pero antes de eso, primero debe instalar las herramientas de desarrollo necesarias en su sistema usando su administrador de paquetes de distribución como se muestra.

$ sudo apt update && sudo apt install build-essential #Ubuntu/Debian # yum group install “Development Tools” # CentOS/REHL # dnf groupinstall “C Development Tools and Libraries” #Fedora 22+

Una vez instaladas todas las herramientas de desarrollo necesarias, ahora puede descargar el paquete fuente, pasar al directorio de repositorio local, compile el binario e instálelo como se muestra.

$ cd ~/Descargas $ git clone https://github.com/facebook/zstd.git $ cd zstd $ make $ sudo make install

Una vez instalado Zstandard. ahora podemos avanzar más para aprender algunos ejemplos de uso básico de los comandos Zstd. en la siguiente sección.

Aprender 10 ejemplos de uso de comandos Zstd en Linux

La sintaxis de la línea de comandos de Zstd es generalmente similar a la de gzip. y xz , con algunas diferencias.

1.. Para crear un archivo de compresión .zst, simplemente proporcione un nombre de archivo para comprimirlo o use el indicador-z también significa comprimir, que es la acción predeterminada.

$ zstd etcher-1.3.1-x86_64.AppImage O $ zstd-z etcher-1.3.1-x86_64.AppImage

2.. Para descomprimir un .zst, use el indicador-d o la utilidad unzstd. como se muestra.

$ zstd-d etcher-1.3.1-x86_64.AppImage.zst O $ unzstd etcher-1.3. 1-x86_64.AppImage.zst

3.. Para eliminar el archivo de origen después de una operación, de forma predeterminada, el archivo de origen no se elimina después de una compresión o descompresión exitosa, para eliminarlo, use el-Opción rm.

$ ls etcher-1.3.1-x86_64.AppImage $ zstd–rm etcher-1.3.1-x86_64.AppImage $ ls etcher-1.3.1-x86_64.AppImage

4 .. Para establecer un nivel de compresión, zstd tiene varios modificadores de operación, por ejemplo, puede especificar un nivel de compresión como-6 (un número del 1 al 19, el valor predeterminado es 3) como se muestra.

$ zstd-6–rm etcher-1.3.1-x86_64.AppImage

5.. Para establecer una velocidad de compresión, zstd tiene una relación de velocidad de compresión 1-10. la velocidad de compresión predeterminada es 1. Puede cambiar la relación de compresión por la velocidad de compresión con la opción–fast, cuanto mayor sea el número, más rápida será la velocidad de compresión.

$ zstd–fast = 10 etcher-1.3.1-x86_64.AppImage

6.. Para mostrar información sobre un archivo comprimido, use el indicador-l, que se usa para mostrar información sobre un archivo comprimido, por ejemplo.

$ zstd-l etcher-1.3.1-x86_64.AppImage.zst

7.. Para probar la integridad de un archivo comprimido, use el indicador-t como se muestra.

$ zstd-t etcher-1.3.1-x86_64.AppImage.zst

8.. Para habilitar el modo detallado, use la opción-v.

$ zstd-v-5 etcher-1.3.1-x86_64.AppImage

9.. Para usar otros formatos de compresión o descompresión de archivos como gzip, xz, lzma y lz4, usando–format = FORMAT como se muestra.

$ zstd-v–format = gzip etcher-1.3.1-x86_64.AppImage $ zstd-v–format = xz etcher-1.3.1-x86_64.AppImage

10.. Para establecer una prioridad de proceso zstd en tiempo real, puede usar la opción –priority = rt. como se muestra.

$ zstd-prioridad = rt etcher-1.3.1-x86_64.AppImage

El indicador-r indica a zstd que operar de forma recursiva en diccionarios. Puede encontrar muchas opciones útiles y avanzadas sobre cómo leer o crear diccionarios consultando la página de manual de zstd.

$ man zstd

Zstandard Github Repository. https://github. com/facebook/zstd

Zstandard. es un algoritmo de compresión de datos y una herramienta de compresión rápida en tiempo real y sin pérdidas que ofrece altas relaciones de compresión. Pruébelo y comparta sus opiniones al respecto o haga preguntas a través del formulario de comentarios a continuación.