Arquivo Compactado (compressed file): Maximizando o Espaço e a Eficiência

Uma jornada pelo mundo da compressão

Houve um tempo em que o espaço em disco era precioso. Cada byte contava, e o armazenamento era um recurso limitado. Era uma época em que os arquivos eram volumosos, ocupando um espaço considerável e tornando o transporte e o compartilhamento de dados uma tarefa desafiadora.

Nesse cenário, surge a figura do Arquivo Compactado, um herói tecnológico que usa um algoritmo de compressão para reduzir o tamanho dos dados armazenados. Ele traz consigo uma proposta incrível: eliminar ou substituir partes redundantes e desnecessárias dos dados, de forma a ocupar menos espaço em disco ou em memória.

Essa história fictícia nos mostra o poder da compressão e como os Arquivos Compactados desempenham um papel fundamental no gerenciamento de dados. Ao longo deste artigo, vamos explorar em detalhes esse tema fascinante, abordando diferentes métodos de compressão, formatos de arquivo e suas vantagens e desvantagens.

Os Dois Lados da Compressão

A compressão é um processo complexo que pode ser classificado em dois tipos principais: com perda e sem perda. Vamos entender melhor cada um deles:

Compressão com Perda

A compressão com perda é aquela que descarta algumas informações dos dados originais de forma irreversível. Esse tipo de compressão é amplamente utilizado para arquivos de mídia, como áudio, vídeo ou imagens. Ao eliminar detalhes menos perceptíveis ou reduzindo a qualidade, é possível alcançar taxas de redução significativas.

No entanto, é importante ressaltar que a compressão com perda implica na perda de fidelidade dos dados. Isso significa que, ao descompactar o arquivo, não será possível recuperar exatamente as mesmas informações presentes no arquivo original. É um compromisso entre espaço e qualidade.

Compressão sem Perda

A compressão sem perda é aquela que preserva todas as informações dos dados originais de forma reversível. Esse tipo de compressão é frequentemente usado para arquivos de texto, código-fonte ou dados sensíveis, onde é essencial não perder nenhuma informação durante o processo de compressão.

Ao contrário da compressão com perda, a compressão sem perda preserva a fidelidade dos dados, permitindo uma recuperação exata do arquivo original ao descompactá-lo. No entanto, devido à necessidade de preservar todas as informações, as taxas de redução são geralmente menores em comparação com a compressão com perda.

Explorando os Formatos de Arquivo Compactado

Agora que entendemos os tipos de compressão, é hora de mergulhar nos diferentes formatos de arquivo compactado que existem. Cada formato possui suas características e utilizações específicas. Aqui estão alguns exemplos populares:

  • ZIP: O formato ZIP é um dos mais conhecidos e amplamente suportados. Ele permite compactar um ou mais arquivos em um único arquivo ZIP, reduzindo significativamente o espaço ocupado. É amplamente utilizado para compartilhamento de arquivos e é suportado por diversos sistemas operacionais.

  • RAR: O formato RAR é semelhante ao ZIP, mas com recursos adicionais. Ele oferece suporte à compressão com perda e sem perda, bem como a capacidade de dividir o arquivo compactado em partes menores, facilitando o transporte e a distribuição.

  • 7Z: O formato 7Z é conhecido por sua alta taxa de compressão. Ele utiliza o algoritmo LZMA para alcançar altos níveis de redução de tamanho sem perda de dados. No entanto, como resultado dessa alta compressão, o processo de compactação e descompactação pode ser mais demorado.

  • TAR: O formato TAR é usado principalmente em sistemas Unix e Linux. Ele combina vários arquivos em um único arquivo, sem compactação. Geralmente, é usado em conjunto com um programa de compressão, como o GZIP.

  • GZIP: O formato GZIP é um método de compressão usado em conjunto com o formato TAR. Ele compacta os arquivos individualmente, resultando em uma taxa de redução menor em comparação com outros formatos, mas com um processo de compactação e descompactação mais rápido.

Esses são apenas alguns exemplos dos formatos de arquivo compactado disponíveis. Cada um deles tem suas peculiaridades e é amplamente suportado por diferentes sistemas operacionais e programas específicos.

A Vantagem dos Arquivos Compactados

Agora que entendemos os tipos de compressão e os formatos de arquivo compactado, é importante destacar as vantagens e desvantagens de utilizar esse tipo de arquivo:

Vantagens:

  1. Economia de espaço: A principal vantagem dos arquivos compactados é a redução significativa do espaço ocupado pelos dados. Isso permite armazenar mais arquivos em um espaço limitado e economizar espaço em disco ou memória.

  2. Transporte e compartilhamento facilitados: Arquivos compactados são mais fáceis de transportar e compartilhar, especialmente quando se trata de múltiplos arquivos agrupados em um único arquivo. Isso simplifica o processo de envio por email, upload para servidores ou transferência para dispositivos externos.

  3. Proteção de dados: Alguns formatos de arquivo compactado oferecem a opção de adicionar uma senha para proteger o conteúdo do arquivo. Isso ajuda a garantir a confidencialidade e a privacidade dos dados.

Desvantagens:

  1. Tempo de compactação e descompactação: O processo de compactar e descompactar arquivos pode exigir um tempo adicional, especialmente em casos de alta compressão ou arquivos grandes. Isso pode afetar a eficiência e a produtividade, especialmente ao lidar com vários arquivos compactados.

  2. Perda de qualidade (compressão com perda): Ao utilizar a compressão com perda, há a perda de qualidade e fidelidade dos dados. Embora seja aceitável em arquivos de mídia, pode ser um problema em outros tipos de arquivos que exigem preservação exata das informações.

Encontrando o Equilíbrio

O espaço em troca da fidelidade

Ao analisarmos os Arquivos Compactados, fica evidente que eles têm um papel importante na otimização de espaço e no gerenciamento de dados. Através de algoritmos de compressão, é possível reduzir o tamanho dos arquivos, facilitando o armazenamento, o transporte e o compartilhamento de dados.

No entanto, é essencial encontrar um equilíbrio entre a economia de espaço e a perda de qualidade. Em alguns casos, a compressão com perda pode ser uma escolha aceitável, como em arquivos de mídia. Já em outros casos, onde a fidelidade dos dados é essencial, a compressão sem perda é a opção mais adequada.

Os formatos de arquivo compactado oferecem flexibilidade e opções para atender às necessidades específicas de cada usuário. É importante considerar as características de cada formato, sua compatibilidade e as demandas dos dados em questão.

Em última análise, cabe a nós, como usuários, tomar decisões informadas e conscientes ao escolher o método de compressão e o formato de arquivo compactado mais adequado para nossos propósitos. Com a compreensão dos prós e contras, podemos aproveitar ao máximo a eficiência oferecida pelos Arquivos Compactados, maximizando o espaço e a eficácia na manipulação de dados.

A dança da compressão: encontrando harmonia entre espaço e fidelidade

Exemplos de compressores sem perda (lossless)

Program Latest version Author GUI Used algoritms Website / download
7-Zip 9.25a Igor Pavlov Y f + LZMA + PPMII + LZ77 + BWT  http://www.7-zip.org/
ABC 2.4 Jürgen Abel N BWT  http://www.data-compression.info/ABC/
ACB 2.00c George Buyanovsky N AC  ftp://ftp.elf.stuba.sk/pub/pc/pack/acb_200c.zip
AI 1.1 E.Ilya   ftp://ftp.sac.sk/pub/sac/pack/ai11.zip
ALZip 7.52 ESTsoft Y   http://www.altools.com/
APPACK 0.43 Jorgen Ibsen N LZ  http://ibsensoftware.com/products_aPLib.html
Archiver 1.0 JaboSoft Y   http://www.jabosoft.com/archiver.htm
ARHANGEL 1.40 George Lyapko Y   http://www.geocities.com/SiliconValley/Lab/6606/arhangel.htm
ARJ 2.84 ARJ Software LZSS + Huff  http://www.arjsoftware.com/
ASH 07 Eugene Shelwien N CM  http://ctxmodel.net/files/ASH/
Balz 1.15 Ilia Muraviev N f + ROLZ  http://balz.sourceforge.net/
BAR 1.1.2 Frank Jennings N BWT  http://www.jinicms.com/bar/
BBB ver 1 Matt Mahoney N BWT  http://cs.fit.edu/~mmahoney/compression/text.html
BCArchiver 2.028 Jetico, Inc Y   http://www.jetico.com/
BEE 0.7.9+ Andrew Filinsky Y CM  http://www.beegui.org/downloads.html
BigCrunch 0.4 RC1 Arkanosis N   http://bcrunch.online.fr/
BioArc 1.9 Merlin+ Ltd Y ftp://ftp.sac.sk/pub/sac/pack/bioarc19.zip
BJWFLATE 1.54 Ben Jos Walbeehm N   http://www.clrmame.com/download.htm
BMA 1.35b Alexander Cherenkov N f + BWT + MTF + Ari  http://forrox.narod.ru/bma_ru.htm
BMF 2.0 Dmitry Shkarin N   http://www.compression.ru/ds
BOA 0.58b Ian Sutton N PPM  ftp://ftp.elf.stuba.sk/pub/pc/pack/boa058.zip
BriefLZ 1.04 Joergen Ibsen N LZ  http://ibsensoftware.com/download.html
BSSC 0.95a Sergeo Sizikov N f + BWT + DC  http://ssergeo.narod.ru/bssc.htm
BZIP2 1.0.5 Julian Seward N BWT  http://www.bzip.org/
Cabarc 1.00.0601 Microsoft f + LZX + Huff + SF  http://www.microsoft.com/
CCM 1.30c Christian Martelock N f + CM  http://christian.martelock.googlepages.com/index.htm
CHILE 0.5 Alexandru Mosoi N BWT  http://alexandru.mosoi.googlepages.com
Coder 1.1 Arkadi Kagan N LZ + Huff + ARI  http://sourceforge.net/projects/compressions
Compressia 1.0 Yaakov Gringeler Y f + BWT + ARI + PPMII  http://www.compressia.com/
CTW 0.1 Frans Willems N CTW  http://www.ele.tue.nl/ctw/
CTXf 0.75b1 Nikita Lesnikov Y f + PPMII  http://www.nlo-one.narod.ru/ctx/index.html
DACT 0.8.42 Roy Keene N   http://www.rkeene.org/oss/dact/
DARK 0.51 Dima Malyshev N BWT+DC  http://darchiver.narod.ru/
DC 0.99.307b ? Edgar Binder N f + BWT + DC + ARI  ftp://ftp.elf.stuba.sk/pub/pc/pack/dc124.zip
DST 0.9b / 0.91b Tommaso Guglielmi N LZ77 + PPM + Huff  ftp://ftp.elf.stuba.sk/pub/pc/pack/dst09b.zip
Durilca 0.5b Dmitry Shkarin N f + PPMII  http://www.compression.ru/ds
DZIP 2.9 Stefan Schwoon Y   http://www.planetquake.com/sda/dzip/
EAZEL 1.0 Silicom Internet S.L Y   http://www.eazel.com/en/
Emilcont 0.3a Berto Destasio N CM  http://www.freewebs.com/emilcont/
Enc 0.15 Serge Osnach N f + PPMII  http://www.compression.ru/so/
EPM r9 Serge Osnach N f + PPMII  http://www.compression.ru/so/
ERI 5.1fre Alexander Ratushnyak N   http://go.to/artest
File2Pack 2.0 Mental9 Production N   http://www.mental9production.com/
FreeARC 0.67a Bulat Ziganshin N f + LZMA PPMd LZP  http://freearc.org/
GRZip 0.7.3 Grebnov Ilya N   http://magicssoft.ru/?folder=projects&page;=GRZip
GRZipII 0.2.4 Grebnov Ilya N BWT,ST4 + MTF,WFC + ARI  http://magicssoft.ru/
GZip 1.3.5 Jean-loup Gailly N LZ77  http://gnuwin32.sourceforge.net/packages/gzip.htm
HA 0.999b Harri Hirvola N PPM  ftp://ftp.sac.sk/pub/sac/pack/ha_nt.zip
HiP beta 1 Danilo Bzdok N   http://scifi.pages.at/yoda9k/
HIPP 0.5819 Bogatov Roman N CM  http://www-lat.compression.ru/download/articles/cm/hipp/hipp
HOOK 1.4 Nania Francesco Antonio N DMC  http://heartofcomp.altervista.org/
HuffComp 1.3 Danilo Bzdok N Huff+RLE+BWT+MFT  http://scifi.pages.at/yoda9k/
ICEOWS 4.20b Raphaël Mounier Y   http://www.iceows.com/
JAR 1.02 ARJ Software f + LZSS + Huff  http://www.arjsoftware.com
Jcalg1 5.32 Jeremy Collake N LZSS  http://www.collakesoftware.com/
KZip Apr 14 2007 Ken Silverman N   http://www.advsys.net/ken/utils.htm
LHA 2.67 Haruyasu Yoshizaki N   ftp://ftp.sac.sk/pub/sac/pack/lha267.exe
LHARK 0.4d Kerwin F. Medina N LZH  http://ftp.elf.stuba.sk/packages/pub/pc/pack/lhark04d.zip
LZ 1.0 Danilo Bzdok N LZ77  http://scifi.pages.at/yoda9k/
Lz2a 02-04-2005 Brendan G Bohannon N LZ  http://bgb-sys.sourceforge.net/
LZOP 1.02rc1 Markus Oberhumer N LZ  http://www.lzop.org/
LZPX(J) 1.2h I. Muraviev + Jan Ondrus N LZP + ARI  http://sourceforge.net/projects/lzpx/
LZTurbo 0.99b8 Hamid Bouzidi N LZ77  http://lzturbo.web.officelive.com/documents/lzturbo.zip
M03 2005-02-15 Mij4x Y   http://mij4x.datacompression.jp/
M99 2.2.1 M. A. Maniscalco Y BWT  http://www.michael-maniscalco.com/compression.htm
MAR 1999 Xann N LZH BWT PPM  ftp://ftp.elf.stuba.sk/pub/pc/pack/mar.rar
MNZIP r32 Michael Niedermayer N BWT + MTF  http://guru.multimedia.cx/mnzip/
MRP 04 Ichiro Matsuda N   http://itohws03.ee.noda.sut.ac.jp/~matsuda/mrp/
NanoZip 0.09a Sami Runsas N f + CM + lzp  http://www.nanozip.net/
Ocamyd 1.66 Frank Schwellinger N DM  http://de.geocities.com/ocamyd/
OrangeArchiver 1.06a Hira Y BWT  http://hira.hopto.org/ab.htm
PAC 17apr2004 Gérard Meunier N BWT + LZ77 + Huff  http://www.zinnamturm.de/#Pac
PackJPG 2.5 Matthias Stirner N ARI  http://www.elektronik.htw-aalen.de/packJPG/
PAQ8 PAQ8p Matt Mahoney f + CM  http://www.cs.fit.edu/~mmahoney/compression/
PAQAR 4.5 M.Mahoney / A.Ratushnyak CM  http://cs.fit.edu/~mmahoney/compression/
PASQDA 4.4 Przemyslaw Skibinski N f + CM  http://www.ii.uni.wroc.pl/~inikep/
PIM 2.90 Ilia Muraviev Y f + PPM  http://www.encode.ru/
PIMPLE 2.0 Ilia Muraviev Y f + PPM  http://www.encode.ru/
PKZIP 2.50 PKWARE Inc. N LZ77  http://www.pkware.com/
PPMd Var J rev.1 Dmitry Shkarin N PPMII  http://www.compression.ru/ds/
PPMN 1.00b1+ (build 4) Max Smirnov N f + PPM  http://www.compression.ru/ms/ppmn_km.rar
PPMonstr Var J Dmitry Shkarin N PPMII  http://www.compression.ru/ds
PPMT 0.1 Andrew Frolov N PPM  http://falinc.narod.ru/
PPMVC 1.2 D.Shkarin P.Skibinski N PPMII  http://www.ii.uni.wroc.pl/~inikep/
PPMY SSE 2.02(3c) 9A9 Eugene Shelwien N PPM  http://www.compression.ru/sh/ppmy_9a9.rar
PPMZ2 0.81 Charles Bloom N PPM  http://www.cbloom.com/src/ppmz.html
PreComp 0.3.4 Christian Schneider N   http://schnaader.info/precomp.html
PSA 0.91a Serge Pachkovsky N   ftp://ftp.sac.sk/pub/sac/pack/psa91w32.zip
QAZAR 0.0 pre5 Denis Kyznetsov N LZP + ARI  http://www.qarc.narod.ru/
QC 0.050 Denis kyznetsov N LZ + PPM  http://www.qarc.narod.ru/
Quark 0.95r Frederic Bautista N LZ  http://www.maximumcompression.com/quark095r.rar
QuickLZ 1.40b9 Lasse Reinhold N LZSS  http://www.quicklz.com/
RK 1.04.1a Malcolm Taylor f + LZ + PPMZ  http://www.msoftware.co.nz
RKC 1.02 Malcolm Taylor N f + LZ + PPMZ  http://www.msoftware.co.nz
Rzip 2.1 Andrew Tridgell N   http://rzip.samba.org/
SBC 0.970 rev3 Sami J. Makinen f + BWT + DC + ARI  http://sbcarchiver.netfirms.com/
Secura Archiver 1.7 Perception N   http://www.cmfperception.com/securaarchiver.html
ShipInBottle 1.0 beta 17 Alexander Turikov Y   http://shipinbottle.chessalex.com/
Slim 0.23d Serge Voskoboynikov N f + PPMII  http://www.bars-trade.com/slim/
SLUG X Christian Martelock N LZ  http://christian.martelock.googlepages.com/index.htm
Squeez 5.63 R.Nausedat / S.Ritter Y   http://www.speedproject.de/enu/squeez/
SR3 SR3a Matt Mahoney N SR + ARI  http://www.cs.fit.edu/~mmahoney/compression/
SRANK 1.0 Peter Fenwick N SR  ftp://ftp.cs.auckland.ac.nz/pub/staff/peter-f/
Stuffit 12.0 Smith Micro Y   http://www.stuffit.com/
Szip 1.12b Michael Schindler N   http://www.compressconsult.com/szip/
TarsaLZP 21 August 2007 Piotr Tarsa N LZP  http://www.maximumcompression.com/TarsaLZP.zip
TC 5.2 dev2 Ilia Muraviev N LZP + PPM  http://www.encode.ru/
THOR 0.96 Oscar Garcia N LZP + Huff  http://www.maximumcompression.com/thor_096.zip
Tornado 0.4a Bulat Ziganshin N LZ + ARI  http://www.haskell.org/bz/
Transform 1.02 Michael Bone N BWT  http://users.senet.com.au/~mjbone/
TURTLE 0.07 Nania Francesco Antonio N PPM + LZP  http://www.winturtle.netsons.org
UFA 0.04 b1 Igor Pavlov N   http://www.7-zip.org/igor.html
UHARC 0.6b Uwe Herklotz f + PPM + LZP + LZ77 + ARI  ftp://ftp.elf.stuba.sk/pub/pc/pack/uharc06b.zip
UHBC 1.0 Uwe Herklotz N BWT + ARI  ftp://ftp.elf.stuba.sk/pub/pc/pack/uhbc10.zip
UPX 3.07 M.Oberhumer & L.Molnár N   http://upx.sourceforge.net/
WinACE 2.69 Marcel Lemke Y f + LZ77 + Huff  http://www.winace.com/
WinHKI 1.81 Hanspeter Imp Y   http://www.winhki.com/en/index.htm
WinImp 1.21 Technelysium Pty Ltd Y f + LZ77 + BWT + Huff  http://www.technelysium.com.au/winimp.html
WinRAR 4.1 Eugene Roshal Y f + LZ77 + PPMII + Huff  http://www.rarsoft.com/
WinRK 3.1.2 Malcolm Taylor Y f + PPMD+ PPMZ + ROLZ + CM  http://www.msoftware.co.nz
WinZip 16 WinZip Computing Y LZH + LZW + SF + Huff + PPMd  http://www.winzip.com/
WRT 4.6 Przemyslaw Skibinski N   http://www.ii.uni.wroc.pl/~inikep/
YBS 0.03f Vadim Yoockin N f + BWT + DC + ARI  http://www.compression.ru/ybs/
ZPAQ 1.10 Matt Mahoney N CM  http://www.cs.fit.edu/~mmahoney/compression/
ZZIP 0.36c Damien Debin N f + BWT  http://debin.net/zzip/
 

Lossless Data Compression Benchmarks (links and spreadsheets)

Benchmark Author Last Update Link/Spreadsheet
Squeeze Chart 2013 Stephan Busch 29 September 2013 http://www.squeezechart.com/
Large Text Compression Benchmark Matt Mahoney 28 August 2013 http://mattmahoney.net/dc/text.html
World Compression Challenge Nania Francesco Antonio 11 August 2013 http://heartofcomp.altervista.org/MOC/MOCA.htm
Compression Ratings Sami Runsas 13 June 2012 http://compressionratings.com/
Xtreme Compression Glenn Davis 01 January 2012 http://www.xtremecompression.com/compare.html
Maximum Compression Werner Bergmans 28 November 2011 http://www.maximumcompression.com/
Ultra7z Archivers Chart Squxe 12 December 2010 http://www.ultra7z.ru/chart.php
Blackfox compression benchmark BlackFox 08 March 2009 http://blackfox.wz.cz/benchmark/
Compression tests Berto Destasio AKA EmilCont 17 March 2007 http://emilcont.webs.com/benchmark.htm
GUI compressors DOGG 06 October 2005 http://members.optushome.com.au/dogg01/compframe.htm
PE compression test Ernani Weber 12 April 2005 http://pect.atspace.com/
Artest Alexander Ratushnyak 20 January 2004 http://www.compression.ru/artest/index_e.html
Compression Project Yoockin Vadim 01 November 2003 http://compression.graphicon.ru/ybs/
Archive Comparison Test Jeff Gilchrist 12 May 2002 http://compression.ca/