適切なクラスタータイプの選択
Zilliz Cloud でクラスターを作成する際、適切なコンピュートユニット (CU) を選択することは重要なステップです。CU はデータの並列処理に使用されるコンピュートリソースの基本単位であり、異なるクラスタータイプには CPU、メモリ、ストレージの異なる組み合わせが含まれます。
クラスタータイプを理解する
Zilliz Cloud は以下のクラスタータイプを提供します:パフォーマンス最適化、容量最適化、および階層ストレージ。
以下の表は、3つのクラスタータイプを異なる観点から比較したものです。クラスタータイプ間の容量とパフォーマンスの詳細な比較については、最適なクラスタータイプの選択 に進んでください。
クラスタータイプ | 検索 QPS | 検索遅延 | 1クエリCU容量 | 100万ベクトルあたりのコスト |
|---|---|---|---|---|
パフォーマンス最適化 | 500〜1500 | 10ミリ秒未満 | 150万 768次元ベクトル | 月額$65から |
容量最適化 | 100〜300 | 数十ミリ秒 | 500万 768次元ベクトル | 月額$20から |
階層ストレージ | 5〜20 | 数百ミリ秒 | 2000万 768次元ベクトル | 月額$7から |
パフォーマンス最適化クラスター
-
低遅延と高スループットを重視するシナリオに最適化されています。
-
生成AI、レコメンデーションシステム、チャットボットなど、リアルタイムアプリケーションに理想的です。
容量最適化クラスター
-
パフォーマンス最適化クラスターより5倍のデータ容量を備え、検索パフォーマンスは控えめになりますが、大規模データセットを処理するように設計されています。
-
大規模非構造化データ検索、著作権検出、本人確認に最適です。
最適なクラスタータイプの選択
クラスタータイプを選択する際は、データ量、パフォーマンスの期待値、および予算を考慮してください。ベクトルデータの規模(ベクトル数と次元数)は、クラスターリソース割り当てを決定する上で重要な役割を果たします。
容量の評価
クラスターが収容できるエンティティ数は、クラスターのクエリCU容量に依存します。
以下の参照表は、ベクトル次元数と総ベクトル数を考慮した、1クエリCUを持つパフォーマンス最適化クラスターと容量最適化クラスターの容量を示しています。データ量に必要なクエリCU数の見積もりについては、私たちの計算機 を使用してください。
ベクトル次元数 | パフォーマンス最適化 (1クエリCUあたりの最大ベクトル数) | 容量最適化 (1クエリCUあたりの最大ベクトル数) | 階層ストレージ (1クエリCUあたりの最大ベクトル数) |
|---|---|---|---|
128 | 750万 | 2500万 | 1億 |
256 | 450万 | 1500万 | 6000万 |
512 | 225万 | 750万 | 3000万 |
768 | 150万 | 500万 | 2000万 |
1024 | 112.5万 | 375万 | 1500万 |
上記の指標は、主キーとベクトルのみを考慮したテストに基づいています。データセットに追加のスカラー(数値)フィールド(例:id、ラベル、キーワードなど)がある場合、実際の容量は変動する可能性があります。正確な評価のために個人テストを実施することが賢明です。
パフォーマンスの評価
パフォーマンス指標、特に遅延と1秒あたりのクエリ数 (QPS) は重要です。パフォーマンス最適化クラスターは、特に10から250までの標準的な top-k 値に対して、容量最適化クラスターよりも顕著に遅延とスループットで優れています。
以下の表は、各クラスタータイプが QPS でどのようにパフォーマンスを発揮するかのテスト結果を示しています。
top_k | パフォーマンス最適化クラスターの QPS (768次元 100万ベクトル) | 容量最適化クラスターの QPS (768次元 500万ベクトル) |
|---|---|---|
10 | 520 | 100 |
100 | 440 | 80 |
250 | 270 | 60 |
1000 | 150 | 40 |
以下の表は、各クラスタータイプが遅延でどのようにパフォーマンスを発揮するかのテスト結果を示しています。
top_k | パフォーマンス最適化クラスターの遅延 (768次元 100万ベクトル) | 容量最適化クラスターの遅延 (768次元 500万ベクトル) |
|---|---|---|
10 | < 10 ミリ秒 | < 50 ミリ秒 |
100 | < 10 ミリ秒 | < 50 ミリ秒 |
250 | < 10 ミリ秒 | < 50 ミリ秒 |
1000 | 10 - 20 ミリ秒 | 50 - 100 ミリ秒 |
シナリオ分析
800万枚の画像ライブラリを持つ画像レコメンデーションアプリケーションを構築していると仮定します。ライブラリ内の各画像は768次元の埋め込みベクトルで表されます。目標は、1秒あたり1,000件のレコメンデーションリクエストを迅速に処理し、30ミリ秒以内にトップ100の画像レコメンデーションを提供することです。
この要件に適したクラスタータイプとクエリCUを選択するには、以下の手順に従います:
-
遅延の評価:パフォーマンス最適化クラスターのみが30ミリ秒の遅延要件を満たすタイプです。
-
容量の評価:1クエリCUを持つ単一のパフォーマンス最適化クラスターは、150万の768次元ベクトルを収容できます。800万ベクトルすべてを格納するには、少なくとも6クエリCUが必要です。
-
スループットの確認:
top-k設定が100の場合、パフォーマンス最適化クラスターは440のQPSを達成できます。1,000QPSを維持するには、レプリカ数を3倍にする必要があります。
結論として、このシナリオではパフォーマンス最適化クラスターが最適です。各レプリカが6クエリCUで構成され、3レプリカの構成が完璧に適しています。