Alibaba Cloud は、複数のバージョンの Elasticsearch (ES) を提供しています。このトピックでは、各バージョンの特徴を説明し、ビジネスニーズに最適なバージョンを選択するのに役立ちます。
ES インスタンスタイプの比較
Alibaba Cloud ES は、ベクトル拡張版、カーネル拡張版、Standard Edition の 3 つのインスタンスタイプを提供します。各インスタンスタイプは、異なる ES バージョンと機能をサポートしています。
項目 | カーネル拡張版 | Vector Enhanced Edition および Standard Edition |
サポートされているバージョン | 7.16、7.10、および 6.7 | Vector Enhanced Edition:8.17 および 8.15 Standard Edition:8.13、8.9、8.5、7.7、6.8、6.3、5.6、および 5.5 |
主な機能 |
|
|
シナリオ | すべての ES アプリケーションシナリオ。 特に以下に適しています:
| すべての Elasticsearch ユースケース。 情報取得、検索、ログ分析、ベクトル検索など。 |
ユーザープロファイル |
|
|
課金対象項目 | ES クラスターのノード仕様、ストレージ容量、ノード数に基づいて課金されます。
| ES クラスターのノード仕様、ストレージ容量、ノード数に基づいて課金されます。 |
オープンソースの機能
すべての Alibaba Cloud ES バージョンは、オープンソースの Elasticsearch の機能と 100% 互換性があります。また、以前は商用 X-Pack プラグインであった公式の Platinum エディションのすべての高度な機能も無料で提供されます。以下のセクションでは、異なる Alibaba Cloud ES バージョンにおけるオープンソースの機能の変更点について説明します。
V7.16、V7.10、および V6.7 クラスターはカーネル拡張版です。これらのクラスターは、深く最適化された AliES カーネルを使用しており、オープンソースの機能に基づいた拡張機能を提供できます。詳細については、「AliES カーネル拡張版の機能」をご参照ください。
バージョン 8.17
新しいオープンソースの機能:
密ベクトル向けに Better Binary Quantization (BBQ) タイプを導入。これにより、ベクトルインデックスは 32 倍のメモリ圧縮を実現し、メモリ使用量を大幅に削減します。
Inference API 機能が一般提供 (GA) されました。詳細については、「Inference APIs」をご参照ください。
Reciprocal Rank Fusion (RRF) 機能が一般提供 (GA) されました。詳細については、「Reciprocal rank fusion」をご参照ください。
logsdb インデックスモードが一般提供 (GA) されました。ログインデックスはストレージ容量を約 3 分の 1 に削減できます。詳細については、「Logs data stream」をご参照ください。
組み込みの Elastic Rerank モデルを導入。詳細については、「Elastic Rerank」をご参照ください。
best_compression コーデックに zstd 圧縮アルゴリズムを使用。これにより、ストレージが約 12% 削減され、書き込みスループットが 14% 向上します。
フルテキストインデックスのサポートなど、いくつかの Elasticsearch Query Language (ES|QL) 機能を最適化。詳細については、「ES|QL」をご参照ください。
Elasticsearch は 8.17 をベースにした拡張バージョンをリリースしました。このバージョンには、AI 検索アプリケーションを柔軟に構築するための組み込みモデルサービスがあります。外部の AI モデルサービスの呼び出しをサポートし、BBQ を使用してメモリコストを 10 倍以上削減します。
変更点の詳細については、「What’s new in 8.17」および「What’s new in 8.16」をご参照ください。
バージョン 8.15
新しいオープンソースの機能:
ベクトルインデックスフィールドを最適化。詳細については、「dense-vector」をご参照ください。
int8_hnsw タイプがデフォルトで hnsw タイプを置き換え、int8 量子化がデフォルトで有効になります。
int4 量子化をサポートし、メモリを 8 倍節約できます。
bitベクトルタイプを追加。
単一命令複数データ (SIMD) 命令を使用して、aarch64 アーキテクチャ上の int8 量子化インデックスのマージパフォーマンスを高速化。マージパフォーマンスが約 3 倍向上します。
rerank フェーズをサポート。text_similarity_reranker は rerank モデルを使用できます。詳細については、「text-similarity-reranker-retriever」をご参照ください。
マルチチャネルリコールをサポートするために retriever クエリ構文を追加。詳細については、「retriever」をご参照ください。
セマンティック検索のサポートを向上させるために semantic_text フィールドタイプを追加。詳細については、「semantic-text」をご参照ください。
疎クエリは text_expansion の代わりに sparse_vector 構文を使用します。詳細については、「query-dsl-sparse-vector-query」をご参照ください。
クエリ ルール API が一般提供 (GA) されました。詳細については、「query-rules-apis」をご参照ください。
インデックスのソートがネストされたフィールドをサポート。詳細については、「index-modules-index-sorting」をご参照ください。
ログシナリオ向けに効率的な
logsdbインデックスを追加。詳細については、「logs-data-stream」をご参照ください。Lucene をバージョン 9.11 にアップグレードし、メモリ効率とクエリパフォーマンスを向上。詳細については、「apache-lucenetm-9110-available」をご参照ください。
変更点の詳細については、「What’s new in 8.15」および「What’s new in 8.14」をご参照ください。
バージョン 8.13
新しいオープンソースの機能:
ベクトルディメンションの最大数を 4096 に増加。詳細については、「4096 dimension dense vector」をご参照ください。
ベクトルインデックスがスカラー量子化をサポート。これにより、ベクトルインデックスのメモリ使用量を約 75% 削減できます。詳細については、「scalar-quantization-in-lucene」をご参照ください。
疎ベクトルをサポートし、sparse_vector タイプを追加。詳細については、「Sparse vector」をご参照ください。
単一シャードのクエリ同時実行をサポート。詳細については、「Query parallelization」をご参照ください。
ベクトルフィールドがネストタイプをサポート。ドキュメントを段落に分割し、段落のベクトルインデックスを作成できます。詳細については、「Multiple results from the same doc with nested vectors」をご参照ください。
rescore フェーズでの結果の再ランキングをサポートする Learning To Rank 機能を追加。詳細については、「Learning To Rank」をご参照ください。
外部モデルサービスを統合するための新しい inference API をサポート。詳細については、「inference APIs」をご参照ください。
SIMD を使用してベクトルクエリのパフォーマンスを向上。詳細については、「Accelerating vector search with SIMD instructions」をご参照ください。
変更点の詳細については、「What’s new in 8.13」をご参照ください。
バージョン 8.9
新しいオープンソースの機能:
テキストとベクトルのリコール結果の混合ランキングをサポート。詳細については、「Reciprocal rank fusion (RRF)」をご参照ください。
ベクトルディメンションの最大数を 2048 に増加。詳細については、「Increase max number of vector dims to 2048」をご参照ください。
ブルートフォース検索のパフォーマンスを向上。詳細については、「Improve brute force vector search speed」をご参照ください。
k-最近傍 (kNN) クエリが、複数のフィールドを同時にクエリすることをサポート。詳細については、「Allow more than one KNN search clause」をご参照ください。
組み込みの ELSER モデルを提供。詳細については、「ELSER inference integration」をご参照ください。
分散 NLP モデルのスケジューリングと管理を安定してサポート。詳細については、「Make native inference generally available」をご参照ください。
プライマリキーを持つドキュメントの書き込みパフォーマンスを向上。詳細については、「Primary key optimization」をご参照ください。
定数 Keyword フィールドのクエリパフォーマンスを向上。詳細については、「Skip shards when querying constant keyword fields」をご参照ください。
時系列データストリーム (TSDS) とダウンサンプリング機能を安定してサポート。詳細については、「TSDS」および「Downsample」をご参照ください。
ThreadLocal の使用を削除してソースメモリを最適化。詳細については、「Remove uses of deprecated LeafReader」をご参照ください。
変更点の詳細については、「What’s new in 8.9」をご参照ください。
バージョン 8.5
新しいオープンソースの機能:
HNSW アルゴリズムに基づくベクトル類似検索を実装。詳細については、「k-最近傍 (kNN) 検索」をご参照ください。
時系列データストリーム (TSDS) 機能を追加。詳細については、「時系列データストリーム (TSDS)」をご参照ください。
Geo グリッドクエリを追加。詳細については、「Geo grid query」をご参照ください。
セキュリティ設定を簡素化。詳細については、「Start the Elastic Stack with security enabled automatically」をご参照ください。
Lucene 圧縮アルゴリズムを改善してインデックスサイズを削減。
Range クエリのパフォーマンスを向上。
lookup ランタイムフィールドタイプをサポート。詳細については、「lookup-runtime-fields」をご参照ください。
ランダムサンプラー集計クエリを実装。詳細については、「Random sampler aggregation」をご参照ください。
Master ノードとデータノードのヒープメモリ消費量を削減。
_type マッピングを削除。バージョン 8.x はバージョン 7.x からのリクエストと互換性があります。互換性の詳細については、「rest-api-compatibility」をご参照ください。
インデックス保護を提供。デフォルトでは、elastic ユーザーは組み込みの ES インデックスのみを読み取ることができます。
変更点の詳細については、「Breaking changes in 8.5」をご参照ください。
バージョン 7.16
新しいオープンソースの機能:
クラスター間検索が SQL クエリをサポート。
Ingest パイプラインが range タイプのエンリッチポリシーをサポート。
キャッシュを最適化してクエリパフォーマンスを向上。
Data Stream からのインデックスの追加と削除をサポート。
監査ログにクラスターの UID と名前情報を追加。
変更点の詳細については、「breaking changes in 7.16」をご参照ください。
バージョン 7.10
新しいオープンソースの機能:
ストアされたフィールドの圧縮を改善してストレージコストを削減。
Event Query Language (EQL) で ES のセキュリティを強化。
search.max_buckets のデフォルト値が 10,000 から 65,535 に増加。
大文字と小文字を区別しないクエリをサポート。大文字と小文字を区別しないクエリを実行するには、オプションの case_insensitive パラメーターを true に設定します。
変更点の詳細については、「Breaking changes in 7.10」をご参照ください。
バージョン 7.7
新しいオープンソースの機能:
インデックスを作成する際、デフォルトのシャード数が 5 から 1 に変更。
マッピングタイプを削除。インデックスマッピングまたはテンプレートを定義する際にタイプを指定する必要はありません。詳細については、「Removal of mapping types」をご参照ください。
デフォルトでは、検索リクエストは最大 10,000 ドキュメントを返します。クエリに一致するドキュメントが 10,000 を超える場合、ES は最初の 10,000 のみを返します。詳細については、「track_total_hits 10000 default」をご参照ください。
デフォルトでは、単一のデータノードには最大 1,000 のシャードを含めることができます。この制限は、cluster.max_shards_per_node パラメーターを使用して設定できます。詳細については、「Cluster Shard Limit」をご参照ください。
スクロールコンテキストの総数は、デフォルトで 500 に制限されています。この制限は、search.max_open_scroll_context パラメーターを使用して設定できます。詳細については、「Scroll Search Context」をご参照ください。
親サーキットブレーカーは、実際に利用可能なメモリ (indices.breaker.total.use_real_memory) に基づいています。デフォルトでは、JVM ヒープメモリの 95% です。この設定は、メモリオーバーフローを防ぐために利用可能な最大メモリを使用します。詳細については、「Circuit Breaker」をご参照ください。
取得パフォーマンスを向上させるため、_all フィールドのサポートを廃止します。
Intervals Queries を追加。これらのクエリは、テキスト内の複数の文字列の順序と近接性に基づいてドキュメントを取得します。
監査ログを有効にすると、監査イベントはホストファイルシステムの <clustername>_audit.json ファイルに永続化されます。インデックスに出力することはできません。詳細については、「Enabling audit logging」をご参照ください。
変更点の詳細については、「Breaking changes in 7.0」をご参照ください。
バージョン 6.x (6.3、6.7、および 6.8)
新しいオープンソースの機能:
インデックスは 1 つのタイプしか持てません。_doc タイプが推奨されます。
バージョン 6.6.0 から、インデックスライフサイクル管理 (ILM) を追加してインデックスのメンテナンスコストを削減。
既存データを要約するために、既存データのロールアップ機能を追加。
バージョン 6.3 から、X-Pack SQL をサポート。この機能は SQL ステートメントを DSL ステートメントに変換し、DSL の学習コストを削減します。
Composite、Parent、Weighted Avg などの集計関数を追加。
変更点の詳細については、「Breaking changes in 6.0」をご参照ください。
バージョン 5.x (5.5 および 5.6)
新しいオープンソースの機能:
インデックスは複数のタイプを持つことができます。カスタムタイプがサポートされています。
string フィールドタイプを削除。text または keyword に置き換えられます。
index フィールドの値が not_analyzed または no から true または false に変更。
ストレージコストを削減するために double の代わりに float を使用。
TransportClient を置き換えるために Java High Level REST Client を導入。
変更点の詳細については、「Breaking changes in 5.0」をご参照ください。
参照資料
インスタンスの [基本情報] ページでインスタンスタイプと ES バージョンを表示できます。詳細については、「インスタンスの基本情報を表示する」をご参照ください。
Alibaba Cloud ES インスタンスを作成するには、「Alibaba Cloud Elasticsearch インスタンスの作成」をご参照ください。
ES インスタンスの仕様と容量を評価するには、「容量の評価」をご参照ください。