Para resolver este problema, os desenvolvedores desenvolveram algoritmos de compressão e ferramentas capazes de comprimir dados em tempo real, reduzindo o tamanho e a capacidade de processamento necessária. Uma dessas ferramentas é o Zstandard, comumente conhecido como Zstd.
Zstd é um algoritmo de compressão em tempo real gratuito, de código aberto, desenvolvido por Yann Collect, um funcionário do Facebook. Zstd é muito rápido e oferece excelentes taxas de compressão. É um algoritmo de compressão sem perdas escrito em C, mas tem implementações de API em outras linguagens de programação populares, como Python, Java, C #, JavaScript e muitos mais. Ele também fornece funções de compressão e descompressão na memória.
Para verificar se Zstd é compatível com o idioma desejado, verifique o recurso fornecido abaixo:
https: // facebook.github.io / zstd /
Se você deseja consultar as informações de benchmarking sobre Zstd, use o link abaixo:
https: // github.com / facebook / zstd
Este tutorial mostrará como compilar e instalar a ferramenta Zstd no Linux e, em seguida, usá-la para realizar a compactação e descompactação de dados.
Como instalar o Zstd
Para usar o Zstd, precisamos instalá-lo compilando a partir dos fontes. Dependendo do sistema que você está executando e da configuração, você pode precisar instalar dependências e ferramentas para realizar a compilação com sucesso.
Comece atualizando seu sistema e instalando o GNU make usando o comando:
sudo apt-get updatesudo apt-get upgrade
sudo apt-get -y install build-essential wget tar
Assim que tivermos todas as ferramentas instaladas, podemos baixar os arquivos de origem e compilá-los. Comece navegando onde você leu, escreveu e executou as permissões. ~ / Desktop
cd ~ / DesktopEm seguida, use o wget para baixar os arquivos para o diretório.
wget https: // github.com / facebook / zstd / releases / download / v1.4.9 / zstd-1.4.9.alcatrão.gzAgora desarquive o arquivo de download e navegue até o diretório usando os comandos como:
tar xvf zstd-1.4.9.alcatrão.gzcd zstd-1.4.9
As etapas finais são instalar o Zstd usando make e make install dentro do diretório Zstd.
sudo makesudo make install
Assim que a compilação e instalação forem concluídas com sucesso, você pode começar a usar o Zstd em seu sistema para compactar e descompactar arquivos.
Como usar o Zstd
O Zstd não adia de forma alguma os métodos populares de compressão e descompressão. Embora a tecnologia e implementação subjacentes sejam diferentes de outras ferramentas, compactar um arquivo com Zstd é semelhante à sintaxe tar e gzip.
Como comprimir um arquivo
Para compactar um arquivo, chame o comando zstd seguido pelo sinalizador -z, que diz ao zstd para fazer a compactação e, finalmente, o nome do arquivo a compactar.
Por exemplo, o comando abaixo compacta o arquivo de backup do sistema em um .arquivo zst.
$ sudo zstd -z system-backupA saída do comando conforme mostrado abaixo:
backup do sistema: 100.00% (1821109 => 1821164 bytes, backup do sistema.zst)backup do sistema $ ls
Você deve ver um arquivo com .extensão zst como:
backup do sistema.zstDepois que o comando é executado, o arquivo é compactado e cria um nome de arquivo .arquivo zst que você pode descompactar.
Comprimir e remover o arquivo fonte
Como você pode ver no comando acima, o arquivo de origem não é removido por padrão na compressão. Você pode especificar a remoção dos arquivos de origem usando a sinalização -rm:
$ sudo zstd -z --rm system-backupbackup do sistema: 100.00% (1821109 => 1821164 bytes, backup do sistema.zst)
$ ls
backup do sistema.zst
Especificar o sinalizador -rm remove automaticamente o arquivo de origem.
Obter informações do arquivo
Para exibir informações relacionadas sobre o arquivo compactado Zstd, você pode usar o sinalizador -l seguido do nome do arquivo. As informações exibidas incluem o tamanho do arquivo, a taxa de compressão e a soma de verificação do arquivo
$ zstd -lv sistema de backup.zst*** interface de linha de comando zstd 64 bits v1.4.9, por Yann Collet ***
backup do sistema.zst # Z Frames padrão: 1
Tamanho da janela: 1.74 MB (1821109 B)
Tamanho comprimido: 1.74 MB (1821164 B)
Tamanho descomprimido: 1.74 MB (1821109 B)
Proporção: 1.0000
Verifique: XXH64
Especifique o nível de compressão
Para especificar explicitamente o nível de compressão, use o - onde o nível é um valor que varia de 1 a 19. O nível de compressão padrão é 3. Você também pode desbloquear níveis de compressão mais altos, i.e., nível 20 - 22.
NOTA: Quanto maior o nível de compactação, maior será o uso de memória.
Por exemplo, para compactar um arquivo com um nível de compactação de 10, use o comando:
zstd -z -10 --rm system-backupEspecifique a velocidade de compressão.
Zstd também permite que você defina a velocidade de compressão variando de 1 a. A velocidade de compressão é inversamente proporcional à taxa de compressão. A velocidade de compressão padrão é 1, e quanto maior o valor, mais rápida é a velocidade de compressão.
Por exemplo, para usar a velocidade máxima de compressão, use o comando:
sudo zstd -z --fast = 10 backup do sistemaEspecifique o formato de compressão
Você também pode especificar o formato de compressão a usar se não gostar da compressão zst padrão. Os formatos incluem zstd, gzip, xz, lzma e lz4.
Use o sinalizador -format e especifique o formato como:
zstd -z --format = gzip system-backupComprimir lista de arquivos
Suponha que você tenha uma lista de arquivos que gostaria de compactar de uma vez. Zstd permite que você passe um arquivo contendo uma lista de arquivos e os comprima recursivamente.
Por exemplo, uma lista de arquivos.txt contendo os arquivos
/ home / user / mysql-backup/ backups / config
/ home / Desktop / media
/ sync / 2021 / users
Depois de salvar o arquivo, você pode passar a lista para o Zstd com todas as outras opções para executar nos arquivos.
sudo zstd -z -v --rm --filelist list.TXTEste comando comprimirá todos os arquivos especificados no arquivo de texto e os removerá após a conclusão.
Descompacte um arquivo
Para descompactar um arquivo, você pode usar o sinalizador -d com o comando zstd ou simplesmente usar o comando unzstd para descompactar.
Por exemplo:
sudo unzstd sistema de backup.zstsudo zstd -d backup do sistema.zst
Verifique a integridade do arquivo
Para testar a integridade de um arquivo compactado zst, use o sinalizador -t conforme mostrado no comando abaixo:
sudo zstd -t backup do sistema.zstConclusão
Como podemos ver nos exemplos, Zstd é um algoritmo de compressão poderoso com vários casos de uso. Para saber mais sobre como funciona e sua implementação, verifique a página de manual e experimente.
Obrigado pela leitura.