Snappy
Snappy は Google が開発した高速圧縮アルゴリズムで、圧縮率よりも徹底的な速度(GB/s 級)を目指しており、Bigtable や Protobuf で広く使われている。
目的
カラムナストレージや RPC など、レイテンシが圧縮率より重要な場面で高速な圧縮を提供する。
メカニズム
LZ77 系のアルゴリズムで、単純な貪欲マッチングとハッシュテーブルを組み合わせ、エントロピー符号化の段階を持たず、可変長の(リテラル長、一致長、距離)形式を出力する。復号は純粋なコピーのみで非常に高速である。
ユースケース
- Bigtable/SSTable のデータ圧縮
- 大きな Protobuf フィールド
- カラムナストレージのページ圧縮