VortexDB - A vector database built from scratch in Rust 🦀. VortexDB is designed for efficient similarity search and can be used as the backbone for AI-powered applications.
VortexDB is organized as a Rust workspace with modular crates for flexibility and maintainability.
The indexing layer provides efficient vector similarity search with pluggable index implementations. VortexDB supports Flat indexing for brute-force exact search (ideal for smaller datasets), KD-Tree for space-partitioning in low-dimensional vectors, and HNSW (Hierarchical Navigable Small World) graphs for fast approximate nearest neighbor search on large-scale datasets.
Supported distance metrics include Euclidean, Manhattan, Hamming, and Cosine similarity.
The storage layer abstracts persistence with a StorageEngine trait, allowing different backends. RocksDB offers persistent, production-ready storage for real-world deployments.
RESTful API server built with Axum:
GET / - Root endpoint
GET /health - Health check
POST /points - Insert a point
GET /points/:id - Get a point by ID
DELETE /points/:id - Delete a point
POST /points/search - Search for similar vectors
High-performance gRPC server with Protocol Buffers. Features include:
- Configurable logging
- Full CRUD operations for vector points
Interactive terminal user interface built with Ratatui:
- Dashboard view for database overview
- Database management
- Vector operations (insert, search, delete)
- Modal dialogs for user input
- InMemory implementation of StorageEngine
- Snapshots for indexers
- Benchmarking suite
- Python SDK
- JavaScript/TypeScript SDK
- Modular vectorization service
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.