メインコンテンツまでスキップ
バージョン: User Guides (Cloud)

VectorDBBench によるパフォーマンスベンチマーク

VectorDBBench は、ベクトルデータベース専用に設計されたオープンソースのベンチマークツールです。

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

概要

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

VectorDBBench は直感的なビジュアルインターフェースを提供しており、ユーザーが簡単にベンチマークを開始し、比較結果レポートを確認できるため、ベンチマーク結果を手軽に再現できます。

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

ベンチマークメトリクス

Metric

Description

Test 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_duration

Zilliz 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 クラスターと同じクラウドプロバイダーおよびリージョン内にデプロイ中します。

    • クライアントを設定して、Zilliz Cloud クラスターと同じ VPC を共有するようにします。パブリックインターネットと比較して、VPC はより低いレイテンシを実現できます。詳細については、プライベートエンドポイントの設定をご参照ください。

VectorDBBench のインストールと起動

# Install VectorDBBench
$ pip install vectordb-bench

# Start VectorDBBench
$ init_bench

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


👋 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が提供するいくつかの事前定義済みテストデータセットを確認し、それらを使って迅速にパフォーマンスベンチマークを実行できます。

ウェブページを下までスクロールし、テストを実行 > をクリックして、独自のベンチマークテストを設定します。

AATGbLxqwo32yexKYzPcdYVTnph

Configure your benchmarking test

View benchmarking results

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

LWa7bJGzOo9qKJx0ZNicjLXjnJh

DJBibk5puoOLxYxxnH3chlxcnAd

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

📘Notes

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

ZBqQb11SEoYbYyxxtAYcKzv9nSc

Wg3eb5C1AoEcRUxqO0Vcc4hSntd