データ圧縮のタイミング

圧縮は、多くの行があって各行に同じカラムがあるか、少なくとも他の行と同じ数のカラムのあるテーブルに最適です。

圧縮は、数多くの行を持つテーブルでもっとも効果的です。各行には他のすべての行のように、同じカラム・セット(または同じ数のカラム)が含まれています。たとえば、ユーザー名電子メール状態などのユーザー・データを含むテーブルは、圧縮に適した候補です。各行のデータが互いによく似ているほど、圧縮率と読み取りのパフォーマンスが向上します。

さまざまなカラム・セットの行を持つテーブルは、圧縮には不向きです。

テーブルの圧縮を、CQLを使用する古いアプリケーションの後方互換性確保のために使用する、カラムのコンパクト・ストレージと混同しないでください。

テーブルのデータ特性に応じて、データの圧縮によって以下の結果が得られる可能性があります。

  • データのサイズが25~33%に縮小
  • 読み取りのパフォーマンスが25~35%向上
  • 書き込みのパフォーマンスが5~10%向上

既存のテーブルの圧縮を構成すると、以降作成されるSSTableが圧縮されます。ディスク上の既存のSSTableは、すぐには圧縮されません。通常のデータベースのコンパクション・プロセスが発生すると、DataStax Enterpriseは既存のSSTableを圧縮します。既存のSSTableを強制的に書き込みなおして圧縮するには、nodetool upgradesstablesまたはnodetool scrubを使用します。