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:
-
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.
-
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.
-
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:
-
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.
-
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 | Y¹ | 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 | Y¹ | 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 | f | 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 | Y¹ | 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 | Y¹ | 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 | Y¹ | f + CM | http://www.cs.fit.edu/~mmahoney/compression/ |
PAQAR | 4.5 | M.Mahoney / A.Ratushnyak | Y¹ | 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 | Y¹ | 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 | Y¹ | 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 | Y¹ | 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/ |