Vectorchord

Scalable, fast, and disk-friendly vector search in Postgres, the successor of pgvecto.rs.

Last verified:

Visit Vectorchord

What is Vectorchord?

VectorChord (vchord) is a PostgreSQL extension designed for scalable, high-performance, and disk-efficient vector similarity search. It serves as the successor to pgvecto.rs, offering enhanced stability and performance. The tool enables users to store and search vectors directly within PostgreSQL, combining relational and semantic search capabilities using the same SQL interface.

Key features include up to 5x faster queries, 16x higher insert throughput, and 16x quicker index building compared to pgvector's HNSW implementation. VectorChord supports vectors up to 60,000 dimensions, enables hybrid search combining full-text and vector search, and offers external index build to offload resource-intensive indexing to powerful machines. It uses RaBitQ compression for efficient vector storage while maintaining search quality through autonomous reranking.

VectorChord is ideal for developers building AI applications at scale, teams needing robust filtering capabilities with high recall, and organizations wanting to handle billions of vectors on a single machine. It Appeals to PostgreSQL users who want vector search without migrating to a separate vector database, and to those seeking cost-effective solutions with 6x more vectors than Pinecone for the same price.

The tool supports multi-vector retrieval, graph indexes, similarity filters, and provides complete SQL support for joins and filters without limitations. It is fully compatible with pgvector data types and syntax, making migration seamless for existing users.

Vectorchord pricing

Pricing model: Freemium

Free Tier: 1 CPU / 2GB RAM / 3GB Storage, 100k vectors with 1024 dimensions capacity (or 25k vectors with 4096 dimensions), 5Gi storage for WAL and PGData, only AWS T3 XLarge instance type, shared resources, no credit card required, no connection pooler support, no HA guarantee, scales down after 7 days inactive. Enterprise Plan: $500/month for 100 million 768-dimensional vectors, dedicated resources, larger storage for WAL and PGData, more instance types available, self-healing HA PostgreSQL with pre-configured PITR and on-demand backup, workflow support, high performance connection pool, expert support, different capacity options available.

Vectorchord pros

  • 16x faster than pgvector for indexing
  • 14x faster insert throughput than pgvector
  • 5x faster queries than other Postgres-based solutions
  • 400,000 vectors stored for just $1
  • 6x more vectors than Pinecone for same price
  • 26x more vectors than pgvector for same price
  • Supports vectors up to 60,000 dimensions
  • External index build on GPU for faster KMeans clustering
  • RaBitQ compression for efficient storage
  • Hybrid search combining full-text and vector search
  • Better filtering with high recall and low latency
  • Complete SQL support for joins and filters
  • Multi-vector retrieval capability
  • Graph index support
  • Fully compatible with pgvector data types and syntax
  • No manual parameter tuning needed out of the box
  • 35ms P50 latency at 100M vectors with 32GB memory
  • Scales to 10000+ QPS with horizontal expansion
  • Open source with AGPLv3 and ELv2 dual license
  • Docker image available for quick setup

Vectorchord cons

  • Requires PostgreSQL installation and setup
  • Free tier limited to 100k vectors with 1024 dimensions
  • Free tier only supports AWS T3 XLarge instance type
  • Free tier has limited 5Gi storage for WAL and PGData
  • Free tier uses shared resources not dedicated
  • Enterprise plan at $500/month may be expensive for small teams
  • pgvector limitation of 16,000 dimensions for some use cases
  • Requires compiling pgvector yourself for 60,000 dimensions
  • Limited documentation compared to established solutions
  • Newer tool with less community support than pgvector

Frequently asked questions about Vectorchord

What is VectorChord and how does it differ from pgvector?

VectorChord is a PostgreSQL extension for scalable, high-performance vector similarity search and the successor to pgvecto.rs. Unlike pgvector, VectorChord delivers 16x faster indexing, 14x faster inserts, and 5x faster queries. It offers better filtering with high recall, external index build capability, RaBitQ compression, and supports vectors up to 60,000 dimensions compared to pgvector's 16,000 dimension limit.

How do I install VectorChord?

For new users, the recommended approach is using Docker: run 'docker run --name vectorchord-demo -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d tensorchord/vchord-postgres:pg18-v1.1.1'. Then connect with psql using the default username 'postgres' and password 'mysecretpassword'. Enable the extension with 'CREATE EXTENSION IF NOT EXISTS vchord CASCADE;'.

What index types does VectorChord support?

VectorChord supports the vchordrq index type which uses IVF (Inverted File Index) with RaBitQ quantization for efficient storage. It also supports external index build on powerful machines or GPUs for faster KMeans clustering. The tool offers graph index and supports multi-vector retrieval capabilities.

Can I migrate from pgvector to VectorChord?

Yes, VectorChord is fully compatible with pgvector data types and syntax. Since both use the same vector representation, applications can be easily migrated without pain. You can use them directly and just drop in VectorChord for enhanced performance without changing your existing queries.

What is the maximum vector dimension supported?

VectorChord supports vectors up to 60,000 dimensions, enabling use of high-dimensional models like text-embedding-3-large. However, there is a pgvector limitation at 16,000 dimensions by default. For dimensions between 16,000 and 60,000, you need to change VECTOR_MAX_DIM and compile pgvector yourself.

What licensing model does VectorChord use?

VectorChord uses a dual license model: GNU Affero General Public License v3 (AGPLv3) and Elastic License v2 (ELv2). Users can choose either license based on their needs. AGPLv3 allows use, modification, and distribution under its terms, while ELv2 has specific restrictions. Commercial collaboration inquiries go to [email protected].

How does external index build work?

External index build offloads resource-intensive indexing to a powerful machine (e.g., with GPU), enabling faster KMeans clustering through IVF. This allows efficient handling of large-scale datasets like billions of vectors on a single system by building the index externally and querying on a smaller machine, significantly speeding up the indexing process.

What is RaBitQ compression?

RaBitQ (RaBit Quantization) is a quantization method that compresses high-dimensional vectors with a theoretical error bound for approximate nearest neighbor search. It efficiently stores vectors while maintaining search quality through autonomous reranking. This allows VectorChord to query 100M 768-dimensional vectors using just 32GB memory with 35ms P50 latency.

Does VectorChord support hybrid search?

Yes, VectorChord leverages PostgreSQL's full-text search functionality to enable hybrid search, allowing you to search both text and vector data within a single query. This combines keyword matching with semantic vector search for more comprehensive results.

What are the free tier limitations in VectorChord Cloud?

The free tier allows creating only one cluster with shared resources, limited to 5Gi storage for WAL and PGData, only AWS T3 XLarge instance type support, capacity of 100k vectors with 1024 dimensions (or 25k vectors with 4096 dimensions), no connection pooler support, no HA guarantee, and scales down after 7 days of inactivity. No credit card is required.

Categories

Use cases

Browse all AI tools on NeedAnAI