Alibaba Cloud Elasticsearch Kernel-enhanced Edition with Indexing Service は、クラウドベースの書き込みホスティングを提供します。これにより、時系列ログのシナリオ向けに、オンデマンドでの購入と従量課金での請求が可能な、低コストかつ高性能な Elasticsearch サービスを実現します。このエディションは、ビジネスの読み書き要件に基づいて選択できます。本トピックでは、インデキシングサービスのシナリオ、アーキテクチャ、課金、メリット、制限事項、およびパフォーマンステストの結果について説明します。
Elasticsearch Kernel-enhanced Edition with Indexing Service は、読み書き分離アーキテクチャに基づいて構築されています。インデキシングサービスは、お使いの Elasticsearch クラスターの書き込み操作をクラウドでホストし、ハードウェアの選定、クラスターアーキテクチャ、カーネルパフォーマンスにおいて包括的な最適化を提供します。クラスターの書き込みパフォーマンスが向上するだけでなく、ビジネスの読み書き要件を個別に評価できます。クラスターのピーク時の書き込みスループットのためにリソースを予約するのではなく、実際に実行した書き込み操作に対してのみ料金を支払います。これにより、クラウドで Elasticsearch を使用する際のリソースコストと運用保守 (O&M) コストが大幅に削減されます。
インデキシングサービスは現在、China (Hong Kong) リージョンで利用可能です。他のリージョンへのサポートも将来的に追加される予定です。
シナリオ
インデキシングサービスは、1 秒あたりの書き込みトランザクション数 (TPS) が高く、書き込みトラフィックの変動が大きく、1 秒あたりの検索クエリ数 (QPS) が低いことを特徴とする時系列データ分析シナリオに適用されます。典型的なシナリオには、ログ検索と分析、メトリクスモニタリングと分析、およびモノのインターネット (IoT) スマートハードウェアデータの収集、モニタリング、分析が含まれます。
インデックスサービスが有効な Kernel-enhanced Edition インスタンスでは、クラスターとのデータ同期は apack/cube/metadata/sync タスクに依存します。 このタスクに関する情報は、GET _cat/tasks?v コマンドを実行してクエリできます。 タスクを手動でクリアしないでください。 タスクがクリアされた場合は、できるだけ早く POST /_cube/meta/sync コマンドを実行して復元してください。 そうしないと、業務のデータ書き込みに影響が出ます。
アーキテクチャ

インデキシングサービスのアーキテクチャは、読み書き分離に基づいて構築されており、以下の技術的な利点があります。
高性能:プロフェッショナルグレードの書き込み最適化。インデキシングサービスは、インデックスの物理レプリケーション、コンピューティングとストレージの分離、faster-bulk などの Alibaba Cloud 独自の機能を通じて書き込みパフォーマンスを最適化します。設定を変更することなく、プロフェッショナルグレードの書き込みパフォーマンスを得ることができます。
低レイテンシー:リアルタイムのクラスター間物理レプリケーション。セグメントレベルのリアルタイム物理レプリケーションにより、書き込みトラフィックが飽和状態にある場合でも、クラスターとインデキシングサービスクラスター間の平均データレイテンシーは数百ミリ秒オーダーです。
高安定性:ジオディザスタリカバリ。インデキシングサービスは、リージョンをまたいだマルチクラスターバックアップを提供します。クラスターが異常な状態になった場合、クラスターのインデックスホスティングを別の正常なクラスターに切り替えることができ、書き込み操作の高可用性 (HA) をさらに向上させます。
課金
インデキシングサービスでは、書き込みトラフィックとホストされるストレージ容量をカバーする書き込みホスティング料金が請求されます。
書き込みホスティング料金は、お使いの Elasticsearch インスタンスがサブスクリプションまたは従量課金のいずれの課金方法を使用していても、従量課金で請求されます。料金は、実際の書き込みトラフィックと実際にホストされたストレージ容量に基づきます。料金情報については、「課金ルール」をご参照ください。
インデキシングサービスを有効にすると書き込みホスティング料金が請求されますが、このサービスにより、クラスター内で書き込み処理を担うノードのリソース料金が削減されます。
メリット
低コスト:書き込み用コンピューティングリソースのコストが平均 60% 削減されます。
弾力的なスケーリング:インデキシングサービスは、クラウドのバックグラウンドで書き込みリソースを割り当てて管理し、書き込みトラフィックの変動に対応します。これにより、データ移行なしでログシナリオにおける Elasticsearch クラスターの弾力的な書き込みスケーリングが実現され、クラスターがトラフィックのピークに対応できるようになります。
運用保守 (O&M) が不要:Elasticsearch クラスターの書き込みリソースや書き込み負荷を気にする必要はありません。インデキシングサービスがクラウドで書き込み操作をホストするため、クラスターの O&M コストが大幅に削減されます。
制限事項
インデキシングサービスは、作成した Elasticsearch クラスターに対してサーバーレスの書き込みホスティングサービスを提供します。ただし、このサービスを使用する場合、データの書き込みとインデックス設定には制限が適用されます。次の表に制限事項を示します。
| カテゴリ | 項目 | 説明 | 備考 |
| インスタンスディメンション | 書き込みトラフィック保護 | 最大書き込みトラフィックは 200 MB/s です。 | ハードリミット。上限を超えると、ステータスコード 429 が返され、「Inflow Quota Exceed」メッセージが表示されます。上限の引き上げを申請するには、チケットを送信。 |
| インスタンスディメンション | 書き込みドキュメント数保護 | 1 秒あたりの最大書き込みドキュメント数は 200,000 です。 | ハードリミット。上限を超えると、ステータスコード 429 が返され、「Write QPS Exceed」メッセージが表示されます。上限の引き上げを申請するには、チケットを送信。 |
| インスタンスディメンション | Put Mapping スロットリング保護 | 最大 Put Mapping レートは 50 TPS です。 | ハードリミット。最大制限を超えると、ステータスコード 429 が返され、 説明 頻繁な Put Mapping 操作は大量のコンピューティングリソースを消費し、ホスティングサービスの安定性に著しく影響します。Put Mapping 操作を減らすには、データを書き込む前にインデックステンプレートを定義してください。 |
| シャードディメンション | 書き込みトラフィック | プライマリキーなしの最大書き込みトラフィックは 10 MB/s です。プライマリキーありの最大書き込みトラフィックは 5 MB/s です。 | write_size blockedソフトリミット。上限を超えると、ステータスコード 429 が返され、 メッセージが表示されます。システムは引き続き可能な限りリクエストを処理しますが、サービス品質は保証できません。 |
| シャードディメンション | 書き込みドキュメント | 1 秒あたりの最大書き込みドキュメント数は 5,000 です。 | ソフトリミット。上限を超えた場合、システムは可能な限りリクエストを処理しますが、サービス品質は保証できません。 |
| シャード数 | 単一インデックスで作成できる最大シャード数 | 最大 300 シャードを作成できます。 | なし。 |
| 設定 | index.refresh_interval | このパラメーターはクラウドホスト型クラスターでデフォルト設定されているため、カスタム設定は有効になりません。 | なし。 |
| 設定 | index.translog.durability | index.translog.durability=asyncクラウドホスト型クラスターでは、translog はデフォルトで非同期書き込みモード () に設定されているため、カスタム設定は有効になりません。 | なし。 |
| 設定 | refresh や merge などの書き込みパラメーター | refresh や merge などの書き込みパラメーターは、クラウドホスト型クラスターでデフォルト設定されているため、カスタム設定は有効になりません。 | デフォルト設定は次のとおりです: "index.merge.policy.max_merged_segment" : "1024mb", "index.refresh_interval" : "30s", "index.translog.durability" : "async", "index.translog.flush_threshold_size" : "2gb", "index.translog.sync_interval" : "100s" |
| インデックス | ライフサイクル設定 | インデックスライフサイクルでフリーズをカスタマイズすることはできません。 | なし。 |
| インデックス | シュリンク操作 | なし。 | |
| インデックス | ホスティングキャンセル時間 | デフォルトでは、インデックスはホストされてから 3 日後に自動的にホスティングが解除されます。 | ビジネスデータに基づいて、ライフサイクル内のホスティングキャンセル時間を変更できます。 |
| インデックス | Ingest ノード | 概念:前処理操作では、一連の事前定義されたプロセッサとパイプラインを使用して、ドキュメントがインデックスされる前、つまりデータが書き込まれる前に、データを変換および拡充します。詳細については、「Ingest Node」をご参照ください。使用に関する推奨事項:インデキシングサービスを使用する場合、インデックス付けの前に Ingest ノードを使用してドキュメントを前処理すると、ingest 処理はクラスター内で実行されます。過度に複雑な処理ロジックは避けることを推奨します。 |
パフォーマンステスト
テスト環境:
テスト結果:
仕様 インスタンスエディション 書き込み TPS 書き込み可視性レイテンシー 2 コア 8 GB、3 データノード Standard Edition 24,883 5 秒 2 コア 8 GB、3 データノード Elasticsearch Kernel-enhanced Edition with Indexing Service 226,649 6 秒 4 コア 16 GB、3 データノード Standard Edition 52,372 5 秒 4 コア 16 GB、3 データノード Elasticsearch Kernel-enhanced Edition with Indexing Service 419,574 6 秒 8 コア 32 GB、3 データノード Standard Edition 110,277 5 秒 8 コア 32 GB、3 データノード Elasticsearch Kernel-enhanced Edition with Indexing Service 804,010 6 秒 テストの結論:
以下の結果は、Elasticsearch Kernel-enhanced Edition with Indexing Service と Standard Edition のパフォーマンスを比較したものです。
3 つのデータノードを持つ 2 コア 8 GB の仕様では、パフォーマンスは 910% 向上しました。
3 つのデータノードを持つ 4 コア 16 GB の仕様では、パフォーマンスは 801% 向上しました。
3 つのデータノードを持つ 8 コア 32 GB の仕様では、パフォーマンスは 729% 向上しました。