コンテンツへスキップ
uencoder

Snappy

Snappy は Google が開発した高速圧縮アルゴリズムで、圧縮率よりも徹底的な速度(GB/s 級)を目指しており、Bigtable や Protobuf で広く使われている。

目的

カラムナストレージや RPC など、レイテンシが圧縮率より重要な場面で高速な圧縮を提供する。

メカニズム

LZ77 系のアルゴリズムで、単純な貪欲マッチングとハッシュテーブルを組み合わせ、エントロピー符号化の段階を持たず、可変長の(リテラル長、一致長、距離)形式を出力する。復号は純粋なコピーのみで非常に高速である。

ユースケース

  • Bigtable/SSTable のデータ圧縮
  • 大きな Protobuf フィールド
  • カラムナストレージのページ圧縮

関連ツール

References