アーカイブ (コンピュータ)
コンピュータにおけるアーカイブ(英: archive、書庫の意味)とは、複数のファイルを一つのファイルにまとめること、またはそのまとめたアーカイブファイル (archive file)のこと。アーカイブと同時にデータ圧縮も行われる場合も多いが、圧縮を伴わない場合もある。
アーカイブを行なうソフトウェアを総称してファイル・アーカイバ (file archiver)、または単にアーカイバと呼ぶ。また、アーカイブファイルを書庫、アーカイブすることを書庫化するという場合もある。逆に元のファイルを取り出すことは抽出または展開という。
アーカイブファイルには、元のファイルを正しく復元するために、少なくとも元のファイル名やファイルサイズなどの情報(メタデータ)も含まれる必要がある。多くのアーカイバは、ファイルシステムがもつ、ファイル名・ファイルサイズ・タイムスタンプ・所有者・アクセス権などの、ファイルに関するメタデータを格納する。
データ圧縮
データ圧縮と併用する際、アーカイブは圧縮に先立つ工程として行われることが多い。これは単一のファイルを個別に符号化するよりも、関連したファイルを一つのファイルと見なして符号化を行うことによって、データ圧縮の効率を高めることができるからである。これをソリッド圧縮という。
しかし、圧縮したファイルを展開する際に、関連ファイルの全体を展開する必要が生じるので、ZIPのようにファイルを圧縮した後にアーカイブするフォーマットや、データ圧縮時に決まったサイズのブロックに分けて符号化することで、目的のファイル周辺だけを解凍して取得することができるフォーマットが多い。アーカイブファイルの圧縮効率と展開に際しての利便性はトレードオフの関係にあるので、データ圧縮規格が乱立する要因ともなっている。
データ圧縮規格の成熟にともなってデータ圧縮機能とアーカイブ機能を統合して同時に処理できるソフトウェアが増えてきた。そういった統合型のソフトウェアのことをアーカイバと呼ぶことが多くなったが、用語本来の意味に従えばデータ圧縮は必須の機能ではない。アーカイブファイルが大きくても構わない場合には、あえて圧縮せずに書庫化だけを行うことで処理速度が向上する場合もある。(ストレージが低速の場合は圧縮によって転送データ量を減らした方が速い場合もある。)
アーカイブファイルのフォーマットの種類
主なアーカイブファイルフォーマットには、以下のものが挙げられる。
- ar
- 主にUNIXのライブラリを書庫化するのに用いられる。
- tar
- UNIX系オペレーティングシステムにおいてファイルを書庫化する際に広く用いられる。tar自体には圧縮機能がないため、gzipやbzip2などとともに利用される。
- Cabinet (CAB)
- Windows標準の書庫形式であり、主にインストーラーが使用する。高圧縮で知られる圧縮形式でもある。
- cpio
- UNIXにおいてファイルを書庫化するのに用いられる。
- pax
- UNIXにおいてファイルを書庫化するのに用いられる。実質的にはtarと同じフォーマットである。また、Mac OS Xではインストーラのファイルの書庫化に用いられる。
- ZIP
- 圧縮用ではあるが必ず書庫化も伴う。また、圧縮せずに書庫化することも可能。ODFやOpenXML、PNGなどのベースとしても用いられ、Windowsでは「圧縮フォルダ」として使用されるなど広く使用されている。
- LHA (LZH)
- ZIPと似た日本産の圧縮規格。やはり圧縮用であるが必ず書庫化も伴う。また、圧縮せずに書庫化することも可能。現在でも日本国内での利用者が多いことから、Windows XP用の追加アドオンがMSより配布され、Windows 7では標準で利用可能となった。
- StuffIt (sit)
- Macintoshにおいて標準的に用いられる書庫形式。ただし、最近ではZIP形式やpax形式におされぎみである。
- Compact Pro (cpt)
- Macintoshにおいてかつて用いられた書庫形式。開発は終了している。
- 7z
- オープンで、標準でファイル名をユニコード格納することや、様々な圧縮アルゴリズムを組み合わせることが可能なことなどを特徴とするアーカイブ形式。
- RAR
- 高圧縮およびリカバリレコードを付加可能な特徴を有するアーカイブ形式。