velesdb-core
High-performance vector database engine written in Rust.
Features
- Blazing Fast: HNSW index with explicit SIMD (4x faster than auto-vectorized)
- Hybrid Search: Combine vector similarity + BM25 full-text search with RRF fusion
- Persistent Storage: Memory-mapped files for efficient disk access
- Multiple Distance Metrics: Cosine, Euclidean, Dot Product, Hamming, Jaccard
- ColumnStore Filtering: 122x faster than JSON filtering at scale
- VelesQL: SQL-like query language with MATCH support for full-text search
- Bulk Operations: Optimized batch insert with parallel HNSW indexing
Installation
Quick Start
use ;
use json;
Distance Metrics
| Metric | Use Case |
|---|---|
Cosine |
Text embeddings, normalized vectors |
Euclidean |
Image features, spatial data |
DotProduct |
When vectors are pre-normalized |
Hamming |
Binary vectors, hash comparisons |
Jaccard |
Set similarity, sparse vectors |
Performance
Vector Operations (768D)
| Operation | Time | Throughput |
|---|---|---|
| Dot Product | ~39 ns | 26M ops/sec |
| Euclidean Distance | ~49 ns | 20M ops/sec |
| Cosine Similarity | ~81 ns | 12M ops/sec |
| Hamming (Binary) | ~6 ns | 164M ops/sec |
End-to-End Benchmark (10k vectors, 768D)
| Metric | pgvectorscale | VelesDB | Speedup |
|---|---|---|---|
| Ingest | 22.3s | 3.0s | 7.4x |
| Search Latency | 52.8ms | 4.0ms | 13x |
| Throughput | 18.9 QPS | 246.8 QPS | 13x |
Key Performance Features
- Search latency: < 5ms for 10k vectors
- Bulk import: 3,300 vectors/sec with
upsert_bulk() - ColumnStore filtering: 122x faster than JSON at 100k items
- Memory efficient with SQ8 quantization (4x reduction)
📊 Benchmark kit: See benchmarks/ for reproducible tests.
License
Elastic License 2.0 (ELv2)
See LICENSE for details.