適切なクラスタータイプを選択する
Zilliz Cloudでクラスターを作成する際、適切なCompute Unit (CU) を選択することは重要なステップです。CUは、データの並列処理に使用されるコンピューティングリソースの基本単位であり、異なるクラスタータイプは、CPU、メモリ、ストレージのさまざまな組み合わせで構成されています。
クラスタータイプを理解する
Zilliz Cloudは、パフォーマンス最適化済み、容量最適化済み、および階層型ストレージのクラスタータイプを提供しています。
以下の表は、3つのクラスタータイプをさまざまな側面で簡単に比較したものです。クラスタータイプ間の容量とパフォーマンスに関する詳細な比較については、最適なクラスタータイプを選択するに進んでください。
クラスタータイプ | 検索QPS | 検索レイテンシー | クエリごとのCU容量 | 100万ベクトルあたりのコスト |
|---|---|---|---|---|
パフォーマンス最適化済み | 500~1500 | 10ミリ秒未満 | 150万 768次元ベクトル | 月額65ドルから |
容量最適化済み | 100~300 | 数十ミリ秒 | 500万 768次元ベクトル | 月額20ドルから |
階層型ストレージ | 5~20 | 数百ミリ秒 | 2000万 768次元ベクトル | 月額7ドルから |
パフォーマンス最適化済みクラスター
-
低レイテンシーと高スループットを重視するシナリオ向けに調整されています。
-
生成AI、レコメンデーションシステム、チャットボットなどのリアルタイムアプリケーションに最適です。
容量最適化済みクラスター
-
大規模なデータセットを処理するために作られており、パフォーマンス最適化済みクラスターの5倍のデータ容量を誇りますが、検索パフォーマンスは控えめです。
-
大規模な非構造化データ検索、著作権検出、本人確認に最適です。
階層型ストレージクラスター
-
ホットデータとコールドデータの明確なパターンを持つ、超大規模でコスト重視のワークロードに最適です。
-
大量のデータを低コストで保存する必要があるアプリケーションに最適です。階層型ストレージクラスターの容量は、容量最適化済みクラスターの4倍です。
最適なクラスタータイプを選択する
クラスタータイプを選択する際には、データ量、パフォーマンスの期待値、予算を考慮してください。ベクトルデータの規模(ベクトル数と次元の両方)は、クラスターのリソース割り当てを決定する上で極めて重要な役割を果たします。
容量の評価
クラスターが収容できるエンティティの数は、クラスターのクエリCU容量によって異なります。
以下の参照表は、ベクトル次元と総ベクトル数を考慮した、1クエリCUを持つパフォーマンス最適化済みおよび容量最適化済みクラスターの容量を示しています。データ量に必要なクエリCU数の見積もりについては、当社の計算ツールをご利用ください。
ベクトル次元 | パフォーマンス最適化済み (クエリCUあたりの最大ベクトル数) | 容量最適化済み (クエリCUあたりの最大ベクトル数) | 階層型ストレージ (クエリCUあたりの最大ベクトル数) |
|---|---|---|---|
128 | 750万 | 2500万 | 1億 |
256 | 450万 | 1500万 | 6000万 |
512 | 225万 | 750万 | 3000万 |
768 | 150万 | 500万 | 2000万 |
1024 | 112.5万 | 375万 | 1500万 |
上記のメトリクスは、プライマリキーとベクトルのみを考慮したテストに基づいています。データセットに余分なスカラーフィールド(例:id、label、keywords)がある場合、実際の容量は異なる場合があります。正確な評価のためには、個人的なテストを実施することが賢明です。
パフォーマンスの評価
パフォーマンス指標、特にレイテンシーと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,000 QPSのレコメンデーションリクエストを迅速に処理し、上位100枚の画像レコメンデーションを30ミリ秒未満で提供することです。
この要件に合った適切なクラスタータイプとクエリCUを選択するには、以下の手順に従います。
-
レイテンシーの評価: パフォーマンス最適化済みクラスターのみが、30ミリ秒のレイテンシー要件を満たします。
-
容量の評価: 1クエリCUを持つ単一のパフォーマンス最適化済みクラスターは、150万の768次元ベクトルを収容します。800万のベクトルすべてを保存するには、少なくとも6つのクエリCUが必要です。
-
スループットの確認:
top-k設定が100の場合、パフォーマンス最適化済みクラスターは440 QPSを達成できます。一貫して1,000 QPSを維持するには、レプリカの数を3倍にする必要があります。
結論として、このシナリオでは、パフォーマンス最適化済みクラスターが最適です。各レプリカが6つのクエリCUで構成される3つのレプリカの構成が、完璧に機能するはずです。