A compressão de dados tem se tornado cada vez mais crucial em muitos campos da tecnologia, de bancos de dados a sistemas operacionais. Entre os diversos algoritmos disponíveis no mercado, dois que têm se destacado são o Gzip e o LZ4. Este artigo explora o desempenho desses dois algoritmos.

Gzip e LZ4

Gzip é um algoritmo de compressão sem perdas desenvolvido pela GNU. Ele tem sido um padrão de facto na indústria de TI por muitos anos, sendo conhecido por sua confiabilidade e taxa de compressão sólida.

LZ4, por outro lado, é um algoritmo de compressão sem perdas conhecido por sua alta velocidade e taxa de compressão razoável. Ele foi projetado com o foco em velocidade e eficiência, especialmente para grandes conjuntos de dados.

Exemplos Usando Linux e Outputs Reais

Realizamos um teste de compressão em uma máquina local com um arquivo de dump de 181M. Aqui estão os resultados:

Para Gzip:

$ time gzip -c arquivoDump > arquivoDump.gz

real    1.976s
user    1.812s
sys     0.164s

$ ls -lh arquivoDump arquivoDump.gz

-rw-r--r-- 1 usuario grupo 181M Jan  1 00:00 arquivoDump
-rw-r--r-- 1 usuario grupo 1008K Jan  1 00:00 arquivoDump.gz

Para LZ4:

$ time lz4 arquivoDump arquivoDump.lz4

real    0.161s
user    0.150s
sys     0.011s

$ ls -lh arquivoDump arquivoDump.lz4

-rw-r--r-- 1 usuario grupo 181M Jan  1 00:00 arquivoDump
-rw-r--r-- 1 usuario grupo 793K Jan  1 00:00 arquivoDump.lz4

Neste teste, o Gzip foi capaz de comprimir o arquivo para 1008K, enquanto o LZ4 conseguiu uma compressão ainda melhor para 793K. No entanto, a velocidade do LZ4 foi muito superior, com um tempo de execução de 0.161 segundos contra 1.976 segundos do Gzip.

Um Olhar Sobre o Zstd

Embora este artigo se concentre na comparação entre Gzip e LZ4, vale a pena mencionar o Zstd. Este algoritmo de compressão sem perdas, desenvolvido pela Facebook, destaca-se por oferecer uma taxa de compressão superior, às vezes à custa de velocidades mais lentas em relação ao LZ4. Ainda assim, o Zstd é considerado um algoritmo de compressão rápido e pode ser a opção certa dependendo das necessidades específicas de um projeto.

Conclusão

Tanto Gzip quanto LZ4 são algoritmos de compressão poderosos, cada um com suas próprias vantagens. Gzip tem sido uma opção confiável há muitos anos, enquanto LZ4 oferece velocidades de compressão significativamente mais rápidas. A escolha entre Gzip e LZ4 dependerá das necessidades específicas de seu projeto. Além disso, vale a pena explorar opções como o Zstd para projetos que requerem taxas de compressão ainda maiores.

Sobre o autor

Pós graduado em Gestão de Projetos em Tecnologia da Informação pela UNIASSELVI.
Esposo e Pai, curto atividades ao ar livre (Bike, SUP, Natação, Caminhar, Brincar no campo)

Atua com Banco de Dados Oracle desde de 2007. Atualmente é DBA Senior na FLUIDATA Serviços em Banco de dados (www.fluidata.com.br)

Principais atividade Banco de dados:

Implementação, migração, gerenciamento e suporte a produtos Oracle (8i, 9i, 10g, 11g, 12c, 18c, 19c RAC), multiplataforma;
Implementação, migração, gerenciamento e suporte a produtos Microsoft SQL Server (2008 - 2019);
Implementação, migração, gerenciamento e suporte a produtos PostgreSQL (9.3 - 14);
Monitoramento de ambientes 24×7;
Backup e Recovery;
Performance e Tuning;
Alta disponibilidade (HA);
EM database/grid/cloud control;
Conversão de databases;
Standby database / Oracle Data Guard;

Certificações:

Oracle Cloud Infrastructure 2019 Certified Architect AssociateOracle Cloud Infrastructure 2019 Certified Architect Associate
Oracle Database 12c Administrator Certified ProfessionalOracle Database 12c Administrator Certified Professional
Exadata Database Machine Models X2-2 and X2-8 Technology Support SpecialistExadata Database Machine Models X2-2 and X2-8 Technology Support Specialist
Oracle Database 11g Support SpecialistOracle Database 11g Support Specialist
OCP 11g - Oracle Certified Professional AdministratorOCP 11g - Oracle Certified Professional Administrator
OPN Certified Specialist 10g - PartnerNetwork Certified SpecialistOPN Certified Specialist 10g - PartnerNetwork Certified Specialist
Oracle Database 10g Real Applications Clusters AdministratorCertified ExpertOracle Database 10g Real Applications Clusters AdministratorCertified Expert
Oracle Database 10g: Managing Oracle on Linux Certified ExpertOracle Database 10g: Managing Oracle on Linux Certified Expert
OCP 10g - Oracle Certified Professional AdministratorOCP 10g - Oracle Certified Professional Administrator

Principais atividades DEVOPS:

PHP
ASP.net
C#
Docker
Golang
C++
Delphi
Python
HTML5
JavaScript

Você também pode gostar: