すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:ベータ版の codec-compression プラグインを使用する

最終更新日:Jan 11, 2025

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 圧縮アルゴリズムをサポートしています。ログ記録や時系列データ分析など、大量のデータを書き込む必要がある場合や、インデックスのストレージコストが高い場合に適しています。次の説明は、プラグインで実行されたパフォーマンステストに関する情報を提供します。

  • テスト環境

    • クラスタ構成:3 データノード。各ノードは 16 vCPU、64 GiB のメモリ、および 1 つの 2 TiB 標準 SSD を提供します。

    • データセット:オープンソース Elasticsearch によって提供される Rally の 74 GiB nyc_taixs

    • インデックス設定:デフォルト設定(force merge API を呼び出して、データの書き込み後に操作を実行できます。)

  • テスト結果

    圧縮アルゴリズム

    インデックスサイズ(GiB)

    TPS(ドキュメント/秒)

    LZ4(Elasticsearch のデフォルトの圧縮アルゴリズム)

    35.5

    202682

    best_compression(DEFLATE)

    26.4

    181686

    Brotli

    24.4

    182593

    zstd

    24.6

    181393

  • テストの結論

    codec-compression プラグインが Brotli または zstd を使用する場合、LZ4 を使用する場合と比較して、45% 高い圧縮率を実現し、同じクエリパフォーマンスを維持しますが、書き込みパフォーマンスが 10% 低下します。ただし、best_compression(DEFLATE)を使用する場合と比較して、8% 高い圧縮率を実現し、同じ書き込みパフォーマンスとクエリパフォーマンスを維持します。

手順

  1. Elasticsearch クラスタの Kibana コンソールにログインします。

    詳細については、「Kibana コンソールにログインする」をご参照ください。

  2. 左側のナビゲーションペインで、[dev Tools] をクリックします。

  3. 表示されたページの [コンソール] タブで、次のコマンドを実行して、インデックスに異なる圧縮アルゴリズムを指定します。

    • Brotli 圧縮アルゴリズム

      PUT index-1
      {
          "settings": {
              "index": {
                  "codec": "brotli"
              }
          }
      }
    • zstd 圧縮アルゴリズム

      PUT index-1
      {
          "settings": {
              "index": {
                  "codec": "zstd"
              }
          }
      }