Docs Menu
Docs Home
/
MongoDB マニュアル
/ /

時系列圧縮

項目一覧

  • デフォルトの圧縮アルゴリズム
  • 列圧縮
  • 詳細

このページでは、MongoDB が時系列コレクション内のデータを圧縮する方法と、圧縮を最適化する方法について説明します。

時系列コレクションは zstd圧縮を使用します。これはグローバルデフォルトの圧縮アルゴリズム snappy とは異なります

MongoDB 5.2 以降では、時系列コレクションで列圧縮機能を使用できます。この機能には多数のイノベーションが導入されており、これらを組み合わせることで、実用的な圧縮の大幅な改善、ディスク上のデータの全体的ストレージ容量削減、読み取り性能の向上を実現しています。

これらの機能強化により、 zstdで圧縮された場合、ディスク上のデータのサイズがさらに縮小され、WiredTiger キャッシュで使用される領域も大幅に削減されます。

導入される圧縮のタイプは次のとおりです。

  • デルタ エンコーディング

  • オブジェクト圧縮

  • 配列圧縮( MongoDB 6.0以降)

  • 実行長エンコーディング(RLE)

デルタ エンコーディングは、時系列コレクション内のデータを時系列の特徴を活用します。 絶対値を保存する代わりに、測定値が互いに迅速に変化しないことを前提としています。 このアプローチでは、測定値間の差のみを保存することで必要な情報の量が減ります。

単調に増加するデータの場合、デルタエンコーディングのデルタは、デルタ自体のデルタを計算することで、保存される数値のサイズをさらに最小限に抑えることができます。

列圧縮により、ドキュメント内でオブジェクトと配列を使用している場合、それらの埋め込みフィールドがドキュメントのルートレベルに存在していても、同じ圧縮利点が得られます。

圧縮を最適化する方法については、「 圧縮の最適化 」を参照してください。

戻る

参照