BZip2の後継「bzip3」が高圧縮を実現
原題: bzip3
なぜ重要か
高圧縮率と高速性を両立するオープンソース圧縮ツールの登場は、データストレージやパイプライン効率化を求める開発者・エンタープライズ用途において代替選択肢を広げる意義がある。
オープンソースの圧縮ツール「bzip3」がGitHubで公開されている。BZip2の精神的後継として開発され、オーダー0コンテキスト混合エントロピーコーダー、サフィックス配列を活用した高速Burrows-Wheeler変換、LZ77スタイルとPPMスタイルを組み合わせたRLE+Lempel Ziv+Predictionパスにより、より高い圧縮率とパフォーマンスを実現している。
「bzip3」はGitHubユーザーiczeliaによって開発・公開されたオープンソースのファイル圧縮ライブラリおよびツールで、現時点でスター数1,300以上、フォーク数61を獲得している。
本プロジェクトはBZip2の「精神的後継」と位置づけられており、以下の3つの主要技術を組み合わせることで高い圧縮率とパフォーマンスを実現している。
1. **オーダー0コンテキスト混合エントロピーコーダー**:データの統計的特性を活用して効率的なエントロピー符号化を行う。
2. **サフィックス配列を使用した高速Burrows-Wheeler変換(BWT)**:テキストデータの冗長性を効率よく整理し、圧縮しやすい形式に変換する。
3. **LZ77スタイルの文字列マッチングとPPMスタイルのコンテキストモデリングを組み合わせたRLE+Lempel Ziv+Predictionパス**:繰り返しパターンおよびコンテキスト予測を活用した追加の圧縮処理を実施する。
BZip2と同様に、テキストやソースコードの圧縮において特に高い効果を発揮するとされている。
ライセンスはLGPL-3.0で、インストールはソースからのビルド(`./bootstrap.sh`、`./configure`、`make`、`sudo make install`)のほか、macOS向けにはHomebrewパッケージマネージャーから`brew install bz3`で導入可能。Linuxの各種ディストリビューションのパッケージマネージャーにも対応している。
リポジトリには`bzip3`本体のほか、`bunzip3`、`bz3cat`、`bz3grep`、`bz3less`、`bz3more`、`bz3most`といったユーティリティスクリプトも含まれており、既存のBZip2関連ツールから移行しやすい構成となっている。CMakeおよびAutotoolsによるビルドシステムもサポートされている。