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

Elasticsearch:apackプラグインの物理レプリケーション機能を使用する

最終更新日:Jan 11, 2025

apackプラグインは、Alibaba Cloud Elasticsearchチームによって開発されました。このプラグインは、物理レプリケーションとベクトル検索機能を提供します。このトピックでは、物理レプリケーション機能のみについて説明します。この機能は、CPUオーバーヘッドを大幅に削減し、ロギングや時系列分析などのシナリオでの書き込みパフォーマンスを向上させます。これらのシナリオでは、レプリカシャードがインデックス用に構成され、大量のデータが書き込まれ、データの可視性はレイテンシに依存しません。

前提条件

  • Alibaba Cloud Elasticsearch V6.7.0またはV7.10.0クラスターが作成されていること。 V6.7.0クラスターを作成する場合は、クラスターのカーネルバージョンがV1.2.0以降であることを確認してください。このトピックでは、V6.7.0クラスターを使用します。クラスターの作成方法の詳細については、「Alibaba Cloud Elasticsearchクラスターを作成する」をご参照ください。
  • apackプラグインがクラスターにインストールされていること。
    Elasticsearch V6.7.0およびV7.10.0クラスターのみがapackプラグインをサポートしています。カーネルバージョンがV1.2.0より前のElasticsearch V6.7.0クラスターを使用する場合は、apackプラグインを使用する前に、クラスターのカーネルを更新する必要があります。詳細については、「クラスターのバージョンをアップグレードする」をご参照ください。 V6.7.0クラスターのカーネルバージョンがV1.2.0以降の場合は、apackプラグインがデフォルトでクラスターにインストールされており、削除できません。 プラグイン ページに移動して、プラグインがインストールされているかどうかを確認できます。
    説明 apackプラグインをインストールすると、物理レプリケーションとベクトル検索の両方の機能を使用できます。ベクトル検索機能の使用方法の詳細については、「aliyun-knnプラグインを使用する」をご参照ください。

背景情報

物理レプリケーション機能の基本原則:この機能が無効になっている場合、プライマリシャードを格納するノードが書き込みリクエストを受信した後、システムはプライマリシャードにデータを書き込みます。次に、システムはリクエストをプライマリシャードのレプリカシャードが存在するノードに同期し、インデックスデータをレプリカシャードに書き込みます。このプロセスは、オープンソースのElasticsearchと同じです。このプロセスでは、インデックスデータはプライマリシャードとそのレプリカシャードだけでなく、それらのトランザクションログにも書き込まれます。この機能を有効にすると、インデックスデータはプライマリシャード、そのトランザクションログ、およびそのレプリカシャードのトランザクションログに書き込まれます。これにより、データの信頼性と整合性が確保されます。プライマリシャードがリフレッシュされるたびに、システムはネットワークを介してプライマリシャードのレプリカシャードにインデックスデータの増分をコピーします。この機能により、データの可視性が数ミリ秒遅延しますが、クラスターの書き込みパフォーマンスが大幅に向上します。

物理レプリケーション機能のパフォーマンステスト:
  • テスト環境
    • クラスター構成:5つのデータノード。各ノードは8 vCPU、32 GiBのメモリ、1つの2 TiB標準SSDを提供します。
    • データセット:オープンソースのElasticsearchによって提供されるRallyの74 GiB nyc_taixs
    • インデックス構成:5つのプライマリシャード、および各プライマリシャードに1つのレプリカシャード(デフォルト構成)
  • テスト結果
    サービス書き込み速度(ドキュメント/秒)
    オープンソース Elasticsearch 6.7.0127305
    Alibaba Cloud Elasticsearch V6.7.0(物理レプリケーション機能有効)184592
  • テストの結論

    物理レプリケーション機能が有効になっているAlibaba Cloud Elasticsearchは、オープンソースのElasticsearchよりも45%優れた書き込みパフォーマンスを提供します。

説明 このトピックで提供されているすべてのコマンドは、Kibanaコンソールで実行できます。詳細については、「Kibanaコンソールにログオンする」をご参照ください。

注意事項

  • apackプラグインの物理レプリケーション機能は、インデックスに対して機能します。デフォルトでは、この機能はプラグインのインストール前に作成されたインデックスでは無効になっており、プラグインのインストール後に作成されたインデックスでは有効になっています。インデックスがプラグインのインストール前に作成された場合は、使用する前にこの機能を有効にする必要があります。
  • インデックスの物理レプリケーション機能を無効にすることができます。ただし、この機能を無効にする前に、インデックスを無効にしてください。
  • インデックスの物理レプリケーション機能を有効にする前に、インデックスを無効にし、インデックスのレプリカ シャードの数を 0 に設定します。

新しいインデックスの物理レプリケーション機能を有効にする

インデックスを作成するときは、設定構成を使用して、インデックスの物理レプリケーション機能を有効にします。
PUT index-1
{
"settings": {
 "index.replication.type" : "segment"
 }
}

インデックスの物理レプリケーション機能を無効にする

  1. インデックスを無効にします。
    POST index-1/_close
  2. 物理レプリケーション機能を無効にします。
    PUT index-1/_settings
    {
    "index.replication.type" : null
    }
  3. インデックスを有効にします。
    POST index-1/_open

既存のインデックスの物理レプリケーション機能を有効にする

  1. インデックスのレプリカ シャードの数を 0 に設定します。
    PUT index-1/_settings
    {
      "index.number_of_replicas": 0
    }
  2. インデックスを無効にします。
    POST index-1/_close
  3. 物理レプリケーション機能を有効にします。
    PUT index-1/_settings
    {
    "index.replication.type" : "segment"
    }
  4. インデックスを有効にします。
    POST  index-1/_open
  5. レプリカ シャードの数を 1 に設定します。
    PUT index-1/_settings
    {
      "index.number_of_replicas": 1
    }