ZSTD - Um algoritmo de compressão de dados rápido usado pelo Facebook

ZSTD - Um algoritmo de compressão de dados rápido usado pelo Facebook

Zstandard (também conhecido como zstd) é um programa de compactação de dados em tempo real e de código aberto gratuito com melhores índices de compressão, desenvolvido por Facebook. É um algoritmo de compressão sem perdas escrito em C (há uma reimplementação em Java) - É assim um programa de Linux nativo.

Leia também: 10 7ZIP (Data Comperssion) Exemplos de comando no Linux

Quando necessário, ele pode negociar a velocidade de compressão por taxas de compressão mais fortes (velocidade de compressão vs troca de compressão pode ser configurada por pequenos incrementos), vice-versa. Possui um modo especial para pequena compactação de dados, conhecida como compactação de dicionário, e pode criar dicionários a partir de qualquer conjunto de amostras fornecido. Ele vem com um utilitário de linha de comando para criar e decodificar .zst, .gz, .xz e .LZ4 arquivos.

Importante, Zstandard Tem uma rica coleção de APIs, suporta quase todas as linguagens de programação populares, incluindo Python, Java, JavaScript, Nodejs, Perl, Ruby, C#, Go, Rust, Php, Switft e Loty More More.

É usado ativamente para comprimir grandes volumes de dados em vários formatos e casos de uso em Facebook; Serviços como Amazon Redshift armazenamento de dados; bancos de dados como Hadoop e Redis; a rede Tor e muitos outros aplicativos, incluindo jogos.

Os resultados a seguir são obtidos fazendo vários testes de algoritmos de compressão rápida em um servidor executando o Linux Debian usando o Lzbench, uma ferramenta de referência na memória de código aberto.

Teste de compressão de Zstandard

Como instalar a ferramenta de compactação Zstandard no Linux

Para instalar Zstandard Em uma distribuição Linux, você precisa compilá -la de fontes, mas antes disso primeiro você precisa instalar as ferramentas de desenvolvimento necessárias em seu sistema usando seu gerenciador de pacotes de distribuição, conforme mostrado.

$ sudo apt update && sudo apt install build-essencial #ubuntu/debian #yum grupo instalação "desenvolvimento+ 

Depois de todas as ferramentas de desenvolvimento necessárias instaladas, agora você pode baixar o pacote de origem, mudar para o diretório de repositório local, construir o binário e instalá -lo como mostrado.

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

Uma vez Zstandard instalado, agora podemos avançar ainda mais para aprender algum uso básico de Zstd Exemplos de comando na seção a seguir.

Aprenda 10 exemplos de uso do comando zstd no Linux

A sintaxe da linha de comando de Zstd é geralmente semelhante à de gzip e xz ferramentas, com algumas diferenças.

1. Para criar um .zst arquivo de compactação, basta fornecer um nome de arquivo para comprimi -lo ou usar o -z Flag também significa compactar, que é a ação padrão.

$ zstd etcher-1.3.1-x86_64.Appimage ou $ zstd -z etcher -1.3.1-x86_64.Appimage 

2. Para descomprimir a .zst arquivo de compressão, use o -d bandeira ou o unzstd utilidade como mostrado.

$ zstd -d etcher -1.3.1-x86_64.Appimage.zst ou $ unzstd etcher-1.3.1-x86_64.Appimage.zst 

3. Para remover o arquivo de origem após uma operação, por padrão, o arquivo de origem não é excluído após compressão ou descompressão bem -sucedida, para excluí -lo, use o --rm opção.

$ 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 definir um nível de compressão, o ZSTD possui vários modificadores de operação, por exemplo, você pode especificar um nível de compressão como -6(Um número 1-19, o padrão é 3) como mostrado.

$ zstd -6 -rm etcher -1.3.1-x86_64.Appimage 

5. Para definir uma velocidade de compressão, o ZSTD tem uma taxa de velocidade de compressão 1-10, A velocidade de compressão padrão é 1. Você pode negociar uma taxa de compressão para a velocidade de compressão com o --rápido opção, quanto maior o número, mais rápida a velocidade de compressão.

$ ZSTD--Fast = 10 Etcher-1.3.1-x86_64.Appimage 

6. Para exibir informações sobre um arquivo comprimido, use o -eu Flag, que é usado para exibir informações sobre um arquivo compactado, por exemplo.

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

7. Para testar a integridade de arquivos compactados, use o -t bandeira como mostrado.

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

8. Para ativar o modo detalhado, use o -v opção.

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

9. Para usar outros formatos de compactação de arquivo ou descompressão, como GZIP, XZ, LZMA e LZ4, usando o --formato = formato como mostrado.

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

10. Para definir uma prioridade do processo ZSTD para o tempo real, você pode usar a opção -prioridade = rt como mostrado.

$ zstd --priority = rt etcher-1.3.1-x86_64.Appimage 

O -r A bandeira instrui o ZSTD a operar recursivamente em dicionários. Você pode encontrar muitas opções úteis e avançadas, como ler ou criar dicionários consultando a página do Zstd Man.

$ MAN ZSTD 

Repositório do Zstandard Github: https: // github.com/facebook/zstd

Zstandard é um algoritmo de compressão de dados sem perdas e em tempo real e sem perdas e uma ferramenta de compressão, que oferece altas taxas de compressão. Experimente e compartilhe seus pensamentos sobre isso ou faça perguntas através do formulário de feedback abaixo.