アーカイブ (コンピュータ)

アーカイブ（）とはコンピュータにおいてデータ群を纏めて一体で保存することを指す。データと、ファイル作成日時や作成者などの付随するメタデータを関連づけ長期間保存する目的で用いられる。

一つ以上のファイル（およびディレクトリ）とメタデータとをアーカイブ化した（一つのファイルへと変換された）ファイルをアーカイブファイルと呼ぶ。加えて可逆データ圧縮を併用し、アーカイブファイルのサイズを縮小することも少なくない。

 特徴 
アーカイブはデータの書き換えを想定せずオリジナルのファイルを長期間保存する。バックアップと似た概念でしばしば混同されるが、バックアップはデータの最新版を保存して災害時にロールバックしやすくするものである。

電子メールを例に考える。1年前のメールは今日届いたメールにくらべて重要度は低いが、後で検索・閲覧できるようにしておく事も必要となる。この過去のメールは然程素早く取り出せる必要がないとすれば、「今日のメールは高速アクセスできるストレージへ」、「過去メールは低速だがメディアが安価なストレージへ」と階層化して保存する手法が考えられる。これは階層型ストレージ管理技術と呼ばれ、データの検索性を保持したままストレージのコストを抑えられる。メールアーカイブの身近な例はGmailにある。見終わったメールを削除ではなくアーカイブすることで、受信メールには表示されないが検索するだけで閲覧出来る。

 アーカイブファイル 
ファイルアーカイバによって変換されたファイルをアーカイブファイルと呼ぶ。日本語では書庫とも呼ばれる。アーカイブファイルを作成する工程をアーカイブあるいは書庫化と呼ぶ。アーカイブファイルのファイル形式はarやtarが代表的である。関連項目も参照。アーカイブファイルから元のファイルを取り出す操作を展開（）、解凍、または抽出と呼ぶ。

ファイル圧縮
アーカイブではファイル圧縮することが多い。ただし、ファイル圧縮は必ずしもアーカイブファイルを作成することを意味しない（ZIP等）。その一方でアーカイブファイルの中から１つのファイルだけを展開することを考慮したフォーマットもある。例えばZIPでは圧縮した後にアーカイブする。他にも圧縮時にデータを決まったサイズのブロックに分けて符号化することで、目的のファイル周辺だけを展開して取得可能にする方式もある。

ファイルをデータ圧縮する場合には可逆圧縮が用いられる。ファイル圧縮の方式の中には、複数のファイルを1つにまとめて扱えるようにするアーカイブ機能を兼ね備えるものもある。

ファイル圧縮は、パーソナルコンピューターの分野では1980年代後半頃からパソコン通信の発達とともにLHAやZIPなどの圧縮方式が誕生した。

 主な圧縮アーカイブ形式 
 ZIP - パーソナルコンピューターの分野で普及している圧縮形式。圧縮方式は主にDeflate法が使用される。
 7z - 7-Zipで扱うことの出来る多機能な高圧縮形式。オープンソース。圧縮方式は主にLZMA法が使用される。
 RAR - マルチメディア系の圧縮が得意な高圧縮形式
 ZPAQ - 増分バックアップやロールバックに対応した圧縮最重視の超高圧縮形式
 CAB (Cabinet archive) - Windowsが標準で利用できる圧縮形式
 GCA, DGCA (G Compression Archive) - テキストデータに強い日本産圧縮形式
 LHA - 純日本産の圧縮形式。LZHとも
 StuffIt - Macintosh系列で利用される圧縮形式
 Compact Pro - Macintosh系列で利用された圧縮形式。開発は終了している。

 主なストリーミング圧縮形式 
複数ファイルの圧縮ではtarなどの無圧縮アーカイブ形式と共に使われる。例えばtarでアーカイブした後にgzipで圧縮した場合は拡張子が .tar.gz となる。Webブラウザで使える形式も存在する (現行は☆、過去は★)Content-Encoding Mozilla。
 pack (*.z)  - UNIXの初期からある形式。今ではほとんど使われず、compressに取って代わられている。
 compress★ (*.Z) - packの置き換えとして商用UNIXで標準で使われている形式。今ではほとんど使われず、gzipに取って代わられている。
 gzip☆ (GNU Zip; *.gz) - 商用UNIXに標準のcompressにはLZWアルゴリズムの特許の問題があり、フリーの代用品として開発された。圧縮方式はDeflate法が使用される。
 Deflate☆ - HTTPプロトコルで使われている圧縮方式。gzipと同じアルゴリズムだがヘッダが異なる。
 bzip (*.bz) - 特許問題のために配布が中止された高圧縮形式。算術符号使用。
 bzip2 (*.bz2) - 主にUNIXで使われるオープンソースの高圧縮形式。bzipの後継として開発された。
 xz (*.xz) - bzip2と同様に主にUNIXで使われるLZMAアルゴリズムによるオープンソースの高圧縮形式。

圧縮率だけでなく圧縮と展開の高速さも目指したものが存在する。
 LZO (*.lzo) - 古くから存在する高速な圧縮形式。
  (*.sz) - Googleの開発した高速な圧縮形式。
 LZ4 (*.lz4) - 高速な圧縮形式。Unityで使われているBuild Settings Unity Technologies。NVIDIAがGPU実装のnvcompを提供しているGitHub - NVIDIA/nvcomp: A library for fast lossless compression/decompression on the GPU NVIDIA。
 Zstandard (Zstd; *.zst) - Facebookの開発した高速な圧縮形式。
 Brotli☆ (*.br) - Googleの開発した高速な圧縮形式。
 LZFSE (*.lzfse) - Appleの開発した高速な圧縮形式。
 Kraken - RAD Game Toolsの開発した高速な圧縮形式。PlayStation 5がKrakenのアクセラレータを搭載している西川善司の3DGE：Mark Cerny氏のPS5技術解説プレゼンテーションを読み解く(前編)。ここまで分かったPS5のSSDとGPUの詳細 4Gamer.net 2020年3月20日。
 LZHAM (*.lzham) - 圧縮率が高いながらも展開が比較的高速な圧縮形式。

エラーの検出と回復
アーカイブファイルには、エラー検出のためのパリティチェックやチェックサムが含まれることがある。たとえば、zipファイルは巡回冗長検査（CRC）を実装している。RARアーカイブには、冗長なエラー訂正データ（リカバリレコードと呼ばれる）が含まれる。

アーカイブファイルには、特に複数ファイルアーカイブ内の欠落ファイルの回復において、追加のエラー検出と回復を可能にする個別のパリティアーカイブ（PAR）ファイルが付随する場合がある。

 脚注 

 関連項目 
 ファイルアーカイバ



 バックアップ
 階層型ストレージ管理
 レプリケーション
 文書管理システム
 データ圧縮、可逆圧縮
 ウェブアーカイブ

Category:ファイルフォーマット
Category:データ圧縮
Category:データベース
Category:ファイル (コンピュータ)
Category:信頼性工学