codec-compression は、Alibaba Cloud Elasticsearch チームが開発したインデックス圧縮プラグインです。brotli と zstd 圧縮アルゴリズムをサポートし、インデックスの圧縮率を高めることで、ストレージコストを大幅に削減します。
前提条件
開始する前に、次の項目が完了していることを確認してください。
-
Alibaba Cloud Elasticsearch V6.7.0 クラスターを作成してください。詳細については、「Alibaba Cloud Elasticsearch クラスターの作成」をご参照ください。
重要codec-compression プラグインは、Alibaba Cloud Elasticsearch V6.7.0 クラスターでのみ利用可能です。
-
codec-compression プラグインがインストールされていることを確認してください。このプラグインは、新しいクラスターにデフォルトでインストールされます。
codec-compression プラグインがインストールされているかどうかをプラグイン設定 ページで確認できます。インストールされていない場合は、手動でインストールしてください。詳細については、「組み込みプラグインをインストールまたはアンインストールする」をご参照ください。
背景情報
codec-compression プラグインは、brotli と zstd 圧縮アルゴリズムをサポートしています。ログや時系列分析など、インデックスのストレージコストが高く、書き込みが多いワークロードに適しており、インデックスのストレージコストを大幅に削減できます。
-
テスト環境
-
テスト結果
圧縮アルゴリズム
インデックスサイズ (GB)
書き込み TPS (doc/s)
Elasticsearch のデフォルト圧縮アルゴリズム (LZ4)
35.5
202682
best_compression (DEFLATE)
26.4
181686
brotli
24.4
182593
zstd
24.6
181393
-
結論
デフォルトの圧縮アルゴリズム (LZ4) と比較して、brotli と zstd アルゴリズムは、約 10% の書き込みパフォーマンスの低下と引き換えに、インデックスのストレージサイズを約 31% 削減できます。クエリパフォーマンスへの影響はありません。ネイティブの best_compression (DEFLATE) 設定と比較すると、これらのアルゴリズムは、書き込みやクエリのパフォーマンスに影響を与えることなく、ストレージサイズをさらに約 8% 削減します。
手順
-
Kibana コンソールにログインします。
詳細については、「Kibana コンソールへのログイン」をご参照ください。
-
左側のナビゲーションペインで、[開発ツール] をクリックします。
-
[コンソール] で、次のコマンドを実行してインデックスの圧縮アルゴリズムを設定します。
説明Alibaba Cloud Elasticsearch V6.7.0 では、コーデック設定は静的であり、インデックスの作成時にのみ設定できます。既存のインデックスのコーデックは変更できません。既存のインデックスの圧縮アルゴリズムを変更するには、インデックスを再作成する必要があります。
-
新しいインデックスを作成し、インデックス設定で
"codec": "brotli"のように対象の圧縮アルゴリズムを指定します。 -
インデックスの再作成を使用して、古いインデックスから新しいインデックスにデータを移行します。
-
データが正しいことを確認した後、古いインデックスを削除します。
-
brotli 圧縮アルゴリズム
PUT index-1 { "settings": { "index": { "codec": "brotli" } } } -
zstd 圧縮アルゴリズム
PUT index-1 { "settings": { "index": { "codec": "zstd" } } }
-