distx-0.1.1 has been yanked.
DistX
A fast, in-memory vector database written in Rust. Designed with Redis-style simplicity and Qdrant API compatibility.
Performance
DistX beats both Qdrant and Redis on insert AND search operations:
| Protocol | vs Qdrant | vs Redis |
|---|---|---|
| Insert (gRPC) | 4.5x faster | 10x faster |
| Search (gRPC) | 6.3x faster | 5x faster |
| Search Latency | 6.6x lower | 5x lower |
See Performance Benchmarks for detailed results.
Installation
From crates.io
As a Library
Add to your Cargo.toml:
[]
= "0.1.0"
# Or individual components:
= "0.1.0" # Core data structures (Vector, HNSW, BM25)
= "0.1.0" # Persistence layer (WAL, snapshots)
= "0.1.0" # REST and gRPC APIs
From Source
Prerequisites
- Rust 1.75+: Install from rustup.rs
- LMDB (for persistence):
- Linux:
sudo apt-get install liblmdb-dev - macOS:
brew install lmdb
- Linux:
Quick Start
Run the Server
# Using cargo install
# Or from source
# With custom options
The server will start and listen on:
- REST API:
http://localhost:6333(Qdrant-compatible) - gRPC API:
localhost:6334
Create a Collection
Insert Vectors
Search Vectors
Features
- Fast Vector Search: HNSW index with SIMD optimizations (AVX2, SSE, NEON)
- Text Search: BM25 full-text search with ranking
- Payload Filtering: Filter results by JSON metadata
- Dual API: REST (Qdrant-compatible) and gRPC
- Persistence: Redis-style snapshots, WAL, and LMDB storage
- Lightweight: Single ~6MB binary
Configuration
)
)
)
)
Architecture
distx/
├── lib/
│ ├── core/ # Core data structures (Vector, Point, Collection, HNSW)
│ ├── storage/ # Persistence layer (WAL, snapshots, LMDB)
│ └── api/ # REST and gRPC APIs
└── src/
└── main.rs # Main entry point
Documentation
- Quick Start Guide - Get started quickly
- Architecture - System design
- API Reference - REST and gRPC API docs
- Performance - Benchmarks and optimizations
Links
- Crates.io: https://crates.io/crates/distx
- Documentation: https://docs.rs/distx
- GitHub: https://github.com/antonellof/DistX
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.