メインコンテンツまでスキップ

VectorDBBench を使用したパフォーマンスベンチマーク

VectorDBBench は、ベクトルデータベース向けに特化して設計されたオープンソースのベンチマークツールです。

このトピックでは、VectorDBBench を使用して Zilliz Cloud のパフォーマンステスト結果を再現する方法を紹介します。

概要

VectorDBBench は、主要なベクトルデータベースおよびクラウドサービスのベンチマーク結果を提供するだけでなく、究極のパフォーマンスとコスト効率を比較するためのツールでもあります。

VectorDBBench は直感的なビジュアルインターフェースを提供します。これにより、ユーザーは簡単にベンチマークを開始できるだけでなく、比較結果レポートを確認することもでき、ベンチマーク結果を容易に再現できます。

実際の本番環境を綿密に模倣し、VectorDBBench では挿入、検索、フィルタ付き検索などの多様なテストシナリオを用意しています。信頼性の高いデータを提供するために、VectorDBBench には SIFTGISTCohere、およびオープンソースの生データセットから OpenAI が生成したデータセットなど、実際の本番シナリオにおける公開データセットも含まれています。

ベンチマーク指標

MetricDescriptionTest Scenario
Max_load_countベクトルデータベースの容量。VectorDBBench は、データベースが失敗するか、挿入リクエストを 10 回を超えて拒否するまでベクトルデータの挿入を継続し、挿入されたエンティティの最大数を記録します。
Max_load_count の値が高いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。
Insertion
QPSベクトルデータベースが 1 秒あたりに処理できる同時クエリ数の能力。VectorDBBench は top-100 検索を複数回実行し、最も高い QPS 値を最終結果として採用します。
QPS の値が高いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。
Search & filtered search
Recall検索結果を ground truth と比較して検索精度を測定する指標です。
Recall の値が高いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。
Search & filtered search
Load_durationZilliz Cloud がエンティティの挿入とインデックスの構築プロセスを完了するまでにかかる時間です。
Load_duration の値が低いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。
Search & filtered search
Serial_latancy_p99クエリの 99% が完了するまでにかかる時間です。VectorDBBench は各 top-100 検索の検索レイテンシを記録し、99 パーセンタイルの平均値を最終結果として使用します。
Serial_latancy_p99 の値が低いほど、ベクトルデータベースのパフォーマンスが優れていることを示します。
Search & filtered search

前提条件

手順

テスト環境をセットアップする

  1. マシンを用意します。

    Zilliz Cloud の究極のパフォーマンスをテストするには、複数スレッドを確保するために 8 vCPU を超えるクライアントマシンを用意することを推奨します。

  2. ネットワークを設定します。

    ネットワーク通信は、特にクエリテストのシナリオでテスト結果に影響します。ネットワークレイテンシの影響を軽減するため、以下を推奨します。

    • クライアントを Zilliz Cloud クラスターと同じクラウドプロバイダーおよびリージョンにデプロイします。

VectorDBBench をインストールして起動する

bash
# Install VectorDBBench
$ pip install vectordb-bench

# Start VectorDBBench
$ init_bench

以下は出力例です。出力内にローカル URL が表示されます。これを使用して VectorDBBench の Web ユーザーインターフェースを開きます。

python
👋 Welcome to Streamlit!

If you’d like to receive helpful onboarding emails, news, offers, promotions,
and the occasional swag, please enter your email address below. Otherwise,
leave this field blank.

Email:
You can find our privacy policy at https://streamlit.io/privacy-policy

Summary:
- This open source library collects usage statistics.
- We cannot see and do not store information contained inside Streamlit apps,
such as text, charts, images, etc.
- Telemetry data is stored in servers in the United States.
- If you'd like to opt out, add the following to ~/.streamlit/config.toml,
creating that file if necessary:

[browser]
gatherUsageStats = false

You can now view your Streamlit app in your browser.

Local URL: http://localhost:8501
Network URL: http://172.16.20.46:8501

ホームページでは、VectorDBBench が提供するいくつかの事前定義済みテストデータセットを確認でき、それらを使用して迅速にパフォーマンスベンチマークを実行できます。

Web ページを一番下までスクロールし、Run Your Test > をクリックして独自のベンチマークテストを設定します。

AATGbLxqwo32yexKYzPcdYVTnph

ベンチマークテストを設定する

ベンチマーク結果を表示する

Results をクリックして、ベンチマーク結果を表示および分析します。以下は結果の例です。

LWa7bJGzOo9qKJx0ZNicjLXjnJh

DJBibk5puoOLxYxxnH3chlxcnAd

必要に応じて、左側のナビゲーションペインで DB FilterCase Filter を設定し、事前定義済みのベクトルデータベースおよびケースのベンチマーク結果を比較できます。

📘📘 注

データベースは [database_name]-[db_label] の形式で命名されています。

ZBqQb11SEoYbYyxxtAYcKzv9nSc

Wg3eb5C1AoEcRUxqO0Vcc4hSntd

Ctrl I