본문으로 건너뛰기

트렌딩 - GitHub 인기 레포 & HuggingFace 모델

VexDB-THU/VexDB-Lite

C++0 / 0

PostgreSQL·DuckDB·SQLite에 graph index와 양자화를 제공하는 cross-platform 벡터 검색 plugin이다.

TL;DR

VexDB-Lite는 특정 애플리케이션에 종속된 standalone 서비스가 아니라 PostgreSQL·DuckDB·SQLite에 설치하는 C++ database plugin이자 extension 모음이다. 세 backend가 동일한 graph index, SIMD distance dispatch, PQ·RaBitQ quantization kernel을 공유하고, PostgreSQL과 DuckDB에서는 SQL optimizer rewrite를 통해 ANN Index Scan으로 연결한다. SIFT-1M 공개 측정에서 PostgreSQL 버전은 ef_search=50·reads=1 기준 994.7 QPS와 Recall@10 95.97%를 기록했으며, README의 동일 조건 pgvector 수치는 507.9 QPS와 96.22%였다. 기존 데이터베이스에 벡터 검색을 추가하거나 SQLite를 포함한 모바일·WASM 배포를 고려할 때 적합하지만, Windows prebuilt 부재와 PostgreSQL·DuckDB의 버전 및 빌드 조건을 먼저 확인해야 한다.

핵심 포인트

  • VexDB-Lite는 PostgreSQL·DuckDB·SQLite에 벡터 검색을 붙이는 C++ 기반 cross-platform database plugin이다.
  • 공통 graph index와 SIMD distance dispatch를 공유하고 PQ·RaBitQ로 인덱스 저장 공간을 줄인다.
  • PostgreSQL과 DuckDB에서 optimizer rewrite와 ANN Index Scan을 사용하며 메타데이터 필터링도 지원한다.
  • Linux·macOS·iOS·Android·WASM 패키지를 제공하지만 v0.0.17에는 Windows prebuilt 패키지가 없다.

벤치마크

벤치마크지표비교
SIFT-1M PostgreSQL, ef_search=50, reads=1QPS994.7README에 기재된 Intel Core Ultra 7-265K, 16GB DDR5, x86_64 Linux 환경의 공개 측정값이며 pgvector는 507.9 QPS였다.
SIFT-1M PostgreSQL, ef_search=50, reads=16QPS12084.6README에 기재된 공개 측정값이며 pgvector는 7153.5 QPS였다.
SIFT-1M PostgreSQL, ef_search=50Recall@1095.97%README에 기재된 공개 측정값이며 pgvector는 96.22%였다.
SIFT-1M PostgreSQL, ef_search=100, reads=1QPS618.5README에 기재된 공개 측정값이며 pgvector는 313.4 QPS였다.
SIFT-1M DuckDB, ef_search=100, reads=1QPS547.2README에 기재된 공개 측정값이며 duckdb-vss는 405.2 QPS였다.
iOS Simulator parallel-build testRecall@101.0000README의 v0.0.17 테스트 결과로, 40,000개 벡터 병렬 빌드 시나리오에서 측정된 값이다.

1.9k

Stars

328

Forks

+209

Trending

0

조회수

1.9k watchers4 open issuesMIT License

관련 토론

아직 관련 토론이 없습니다.

댓글

댓글을 작성하려면 로그인이 필요합니다.