VexDB-Lite  by VexDB-THU

Vector database extension for PostgreSQL and DuckDB

Created 3 months ago
841 stars

Top 41.7% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

VexDB-Lite provides a high-performance, cross-platform vector similarity search engine integrated as extensions for PostgreSQL and DuckDB. It targets developers needing efficient vector search within their existing database infrastructure, offering advanced indexing and optimized query processing.

How It Works

The core of VexDB-Lite is a self-developed graph index algorithm, combined with SIMD-optimized distance function dispatch and product quantization (PQ). This approach enables efficient in-memory vector buffering and parallel index building, shared across both PostgreSQL and DuckDB backends for consistent performance.

Quick Start & Requirements

  • PostgreSQL: Requires PostgreSQL 16-19, CMake ≥ 3.14, and a C++17 compiler. Build involves compiling PostgreSQL, then using CMake for vexdb_lite with PG_CONFIG. Installation requires shared_preload_libraries = 'vexdb_lite' and CREATE EXTENSION vexdb_lite;.
  • DuckDB: Requires CMake 3.14+ and a C++17 compiler. Build is automated via bash build_duck.sh setup and bash build_duck.sh build. Installation uses LOAD '/path/to/vexdb_lite.duckdb_extension'.
  • General: Docker is needed for running spec tests.

Highlighted Details

  • Performance: Benchmarks on SIFT-1M show VexDB-Lite (PostgreSQL) significantly outperforming pgvector in QPS while maintaining high recall. The DuckDB extension also shows advantages over DuckDB VSS.
  • Core Technologies: Features a unique graph index, compile-time optimized SIMD distance dispatch, and supports Product Quantization (PQ) for vector compression.
  • Cross-Platform: The same core algorithms and kernels are utilized in both PostgreSQL and DuckDB extensions.
  • Filtered Search: DuckDB extension supports filtered Approximate Nearest Neighbor (ANN) search with automatic oversampling.

Maintenance & Community

Community channels include GitHub Issues, GitHub Discussions, Discord, and a WeChat group. Project development appears active, originating from VexDB-THU.

Licensing & Compatibility

Licensed under the permissive MIT License, allowing for broad compatibility with commercial and closed-source applications.

Limitations & Caveats

PostgreSQL support targets versions 16-19. DuckDB builds on ARM lack SIMD acceleration. Advanced features like async I/O, HA, and specific quantization types (halfvector, int8vector) are reserved for the commercial VexDB version. DuckDB VSS persistence is experimental; VexDB-Lite relies on DuckDB's standard serialization.

Health Check
Last Commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
12
Issues (30d)
0
Star History
847 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.