適切なクラスタータイプの選択
Zilliz Cloudでクラスターを作成する際、適切なCompute Unit(CU)を選択することは重要なステップです。CUはデータの並列処理に使用される基本的なコンピュートリソース単位であり、異なるクラスタータイプはCPU、メモリ、ストレージの異なる組み合わせで構成されます。
クラスタータイプの理解
Zilliz Cloudは以下のクラスタータイプを提供しています:パフォーマンス最適化、容量最適化、および階層ストレージ。
以下の表は、3つのクラスタータイプを異なる観点から比較したものです。クラスタータイプ間の容量および性能に関する詳細な比較については、最適なクラスタータイプの選択を参照してください。
クラスタータイプ | 検索QPS | 検索レイテンシ | クエリCUあたりの容量 | 100万ベクトルあたりのコスト |
|---|---|---|---|---|
パフォーマンス最適化 | 500~1500 | 10ミリ秒未満 | 1.5百万768次元ベクトル | $65/月から |
容量最適化 | 100~300 | 数十ミリ秒 | 5百万768次元ベクトル | $20/月から |
階層ストレージ | 5~20 | 数百ミリ秒 | 2千万768次元ベクトル | $7/月から |
パフォーマンス最適化クラスター
-
低レイテンシと高スループットを重視するシナリオ向けに調整されています。
-
生成AI、レコメンドシステム、チャットボットなどのリアルタイムアプリケーションに最適です。
容量最適化クラスター
-
大規模データセットを処理するために設計されており、検索パフォーマンスは控えめながらもパフォーマンス最適化と比べて5倍のデータ容量を誇ります。
-
大規模非構造化データ検索、著作権検出、本人確認に最適です。
階層ストレージクラスター
-
明確なホットデータとコールドデータのパターンを持つ超大規模でコストに敏感なワークロードに最適です。
-
大量のデータを低コストで保存する必要があるアプリケーションに最適です。階層ストレージクラスターの容量は、容量最適化クラスターよりも4倍です。
階層ストレージクラスターを選択するには、クラスターに少なくとも8つのクエリCUが必要です。
最適なクラスタータイプの選択
クラスタータイプを選択する際には、データ量、パフォーマンスの期待、予算を考慮してください。ベクトルデータの規模(ベクトル数および次元数の両面から)は、クラスターリソース割り当てを決定する上で重要な役割を果たします。
容量評価
クラスターが収容できるエンティティ数は、クラスターのクエリ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、ラベル、キーワードなど)がある場合、実際の容量は変わる可能性があります。正確な評価のためには、個人テストを実施することが賢明です。
パフォーマンス評価
特にレイテンシとクエリ毎秒(QPS)などのパフォーマンス指標は重要です。パフォーマンス最適化クラスターは、特に標準の top-k 値(10〜250)において、レイテンシとスループットで容量最適化クラスターよりも明確に優れています。
以下の表は、各クラスタータイプが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次元の埋め込みベクトルで表されます。目標は、1000のQPSでレコメンドリクエストを迅速に処理し、30ミリ秒以内に上位100件の画像レコメンドを提供することです。
この要件に適したクラスタータイプおよびクエリCUを選択するには、以下の手順に従います:
-
レイテンシ評価:パフォーマンス最適化クラスターは、30ミリ秒のレイテンシ要件を満たす唯一のタイプです。
-
容量評価:1つのパフォーマンス最適化クラスター(1クエリCU)は1.5百万の768次元ベクトルを格納できます。800万ベクトルすべてを格納するには、少なくとも6つのクエリCUが必要です。
-
スループットチェック:
top-k設定が100の場合、パフォーマンス最適化クラスターは440のQPSを達成できます。一定の1000QPSを維持するには、レプリカ数を3倍にする必要があります。
結論として、このシナリオではパフォーマンス最適化クラスターが最適です。各レプリカが6つのクエリCUで構成される3つのレプリカの構成が、完璧に適しています。