zilliztech/VectorDBBench

Benchmark for vector databases.

VectorDBBench (VDBBench) – 벡터 데이터베이스용 벤치마크 세트

무엇인가요 – VDBBench는 Milvus, Qdrant, Pinecone, Weaviate, Elastic, PostgreSQL 기반 솔루션, Redis 등 다양한 벡터 검색 백엔드에서 반복 가능한 성능 및 비용 효율성 테스트를 수행할 수 있는 Python 기반 도구입니다. 작은 시각적 UI를 함께 제공하여 벤치마크를 시작하고 결과를 비교할 수 있으며, 명령줄에서 완전히 제어할 수도 있습니다.

왜 중요한가요 – 벡터 데이터베이스(또는 클라우드 호스팅 벡터 검색 서비스)를 선택하는 것은 종종 시도 오류 과정입니다. VDBBench는 일관된 워크로드 정의(삽입, 근접 최근접 검색, 필터링 검색, 그리고 이제는 BM25 스타일의 전체 텍스트 검색)와 공개 데이터셋 카탈로그(SIFT, GIST, Cohere Wikipedia 임베딩, OpenAI 생성 C4 임베딩, Hugging Face에 호스팅된 멀티모달 VIBE 데이터셋)를 제공합니다. 이를 통해 다양한 제공업체 간에 지연 시간, 처리량(QPS), 리콜, 심지어 쿼리당 달러 비용을 비교할 수 있습니다.

주요 기능(README에 설명됨)

  • 지원되는 백엔드 – Milvus/Zilliz Cloud, Qdrant, Pinecone, Weaviate, Elastic(Elasitc Cloud 포함), OpenSearch/AWS OpenSearch Serverless, PostgreSQL 확장(pgvector, pgvecto.rs, VectorChord 등), Redis, MongoDB, TiDB, Vespa, 그리고 선택적 확장 기능을 통해 추가 지원되는 많은 데이터베이스.
  • 워크로드 – 삽입, 벡터 유사도 검색, 필터링 검색, 전체 텍스트 BM25 검색(MS MARCO, HotpotQA). 각 워크로드는 성능 모드(대규모, 고병렬) 또는 용량 모드(다양한 차원 및 데이터셋 크기)로 실행 가능.
  • 데이터셋 카탈로그 – 전통적인 저차원 벤치마크(SIFT, GIST)에 더해 현대적인 고차원 임베딩(200차원 코사인, 768차원, 1536차원) 및 1 M에서 100 M 벡터까지의 멀티모달 Parquet/HDF5 컬렉션.
  • 비용 효율성 보고서 – 클라우드 서비스의 경우 제공업체의 가격 모델에 따라 쿼리당 비용을 계산할 수 있어, 지연 시간/리콜 목표를 충족하는 가장 저렴한 옵션을 선택하는 데 도움이 됩니다.
  • 확장 가능한 CLI – vectordbbench <backend> [options] 형태로 각 백엔드마다 고유한 플래그(인덱스 매개변수, 병렬도, 인증 등)를 가집니다. --note/--note-file 플래그를 통해 사용자 정의 메모를 JSON 결과 파일에 포함할 수 있습니다.
  • 시각적 UI – README에 자세히 설명되어 있지 않지만, 선택적 웹 인터페이스로 벤치마크 실행 및 비교 차트를 표시하여 비전문가도 결과를 쉽게 재현할 수 있습니다.
  • 설치 – 단일 명령어 pip install로 가능하며, 특정 데이터베이스 클라이언트를 위한 선택적 확장 기능도 제공합니다. 예: pip install 'vectordb-bench[pinecone]'.

일반적인 사용법

# 핵심 패키지 설치 (Milvus 클라이언트 포함)
pip install vectordb-bench

# 특정 백엔드용 확장 설치 예: Qdrant
pip install 'vectordb-bench[qdrant]'

# 로컬 Milvus 인스턴스에 벤치마크 실행
vectordbbench milvushnsw \
  --uri http://localhost:19530 \
  --collection-name VDBBench \
  --case-type Performance768D1M \
  --m 16 --ef-construction 128 --ef-search 128 \
  --k 10 --nq 2 \
  --skip-drop-old --skip-load

이 명령어는 처리량(qps), 지연(conc_latency_*), 리콜, 사용자가 제공한 메모를 포함한 JSON 결과 파일을 출력합니다.

누가 사용해야 할까요 –

  • 새로운 유사성 검색 제품에 사용할 벡터 스토어를 평가하는 데이터 과학 팀.
  • 호스팅된 벡터 검색 서비스의 정량적 비교가 필요한 클라우드 비용 엔지니어.
  • 공통의 공개 데이터셋을 기반으로 새로운 인덱싱 알고리즘을 벤치마크하는 연구자.
  • 여러 벡터 DB 구현체 간에 삽입 속도, 쿼리 지연, 리콜을 재현 가능하고 스크립트 가능한 방식으로 측정하고 싶은 모든 사람.

더 자세히 알고 싶다면 – 패키지는 PyPI(vectordb-bench)에 게시되어 있으며, 소스 코드는 zilliztech/VectorDBBench GitHub 리포지토리에 있으며, 실시간 랭킹은 https://zilliz.com/benchmark 에서 확인할 수 있습니다. 각 릴리스의 문서(예: 전체 텍스트 검색, Hugging Face 데이터셋 통합)는 리포지토리의 docs/ 폴더에 링크되어 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트