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=1 | QPS | 994.7 | README에 기재된 Intel Core Ultra 7-265K, 16GB DDR5, x86_64 Linux 환경의 공개 측정값이며 pgvector는 507.9 QPS였다. |
| SIFT-1M PostgreSQL, ef_search=50, reads=16 | QPS | 12084.6 | README에 기재된 공개 측정값이며 pgvector는 7153.5 QPS였다. |
| SIFT-1M PostgreSQL, ef_search=50 | Recall@10 | 95.97% | README에 기재된 공개 측정값이며 pgvector는 96.22%였다. |
| SIFT-1M PostgreSQL, ef_search=100, reads=1 | QPS | 618.5 | README에 기재된 공개 측정값이며 pgvector는 313.4 QPS였다. |
| SIFT-1M DuckDB, ef_search=100, reads=1 | QPS | 547.2 | README에 기재된 공개 측정값이며 duckdb-vss는 405.2 QPS였다. |
| iOS Simulator parallel-build test | Recall@10 | 1.0000 | README의 v0.0.17 테스트 결과로, 40,000개 벡터 병렬 빌드 시나리오에서 측정된 값이다. |
1.9k
Stars
328
Forks
+209
Trending
0
조회수
1.9k watchers4 open issuesMIT License
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.