Expand description
§VelesDB Core
High-performance vector database engine written in Rust.
VelesDB is a local-first vector database designed for semantic search,
recommendation systems, and RAG (Retrieval-Augmented Generation) applications.
§Features
- Blazing Fast: HNSW index with explicit SIMD (4x faster)
- 5 Distance Metrics: Cosine, Euclidean, Dot Product, Hamming, Jaccard
- Hybrid Search: Vector + BM25 full-text with RRF fusion
- Quantization: SQ8 (4x) and Binary (32x) memory compression
- Persistent Storage: Memory-mapped files for efficient disk access
§Quick Start
use velesdb_core::{Database, DistanceMetric, Point, StorageMode};
use serde_json::json;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create a new database
let db = Database::open("./data")?;
// Create a collection (all 5 metrics available)
db.create_collection("documents", 768, DistanceMetric::Cosine)?;
// Or with quantization: DistanceMetric::Hamming + StorageMode::Binary
let collection = db.get_collection("documents").ok_or("Collection not found")?;
// Insert vectors (upsert takes ownership)
collection.upsert(vec![
Point::new(1, vec![0.1; 768], Some(json!({"title": "Hello World"}))),
])?;
// Search for similar vectors
let query_vector = vec![0.1; 768];
let results = collection.search(&query_vector, 10)?;
// Hybrid search (vector + text)
let hybrid = collection.hybrid_search(&query_vector, "hello", 5, Some(0.7))?;
}Re-exports§
pub use index::HnswIndex;pub use index::HnswParams;pub use index::SearchQuality;pub use index::VectorIndex;pub use collection::streaming::BackpressureError;pub use collection::Collection;pub use collection::CollectionType;pub use collection::EdgeType;pub use collection::GraphCollection;pub use collection::GraphEdge;pub use collection::GraphNode;pub use collection::GraphSchema;pub use collection::IndexInfo;pub use collection::MetadataCollection;pub use collection::NodeType;pub use collection::TraversalResult;pub use collection::ValueType;pub use collection::VectorCollection;pub use distance::DistanceMetric;pub use error::Error;pub use error::Result;pub use filter::Condition;pub use filter::Filter;pub use point::Point;pub use point::SearchResult;pub use quantization::cosine_similarity_quantized;pub use quantization::cosine_similarity_quantized_simd;pub use quantization::dot_product_quantized;pub use quantization::dot_product_quantized_simd;pub use quantization::euclidean_squared_quantized;pub use quantization::euclidean_squared_quantized_simd;pub use quantization::BinaryQuantizedVector;pub use quantization::QuantizedVector;pub use quantization::StorageMode;pub use column_store::BatchUpdate;pub use column_store::BatchUpdateResult;pub use column_store::BatchUpsertResult;pub use column_store::ColumnStore;pub use column_store::ColumnStoreError;pub use column_store::ColumnType;pub use column_store::ColumnValue;pub use column_store::ExpireResult;pub use column_store::StringId;pub use column_store::StringTable;pub use column_store::TypedColumn;pub use column_store::UpsertResult;pub use config::ConfigError;pub use config::HnswConfig;pub use config::LimitsConfig;pub use config::QuantizationConfig;pub use config::QuantizationType;pub use config::SearchConfig;pub use config::SearchMode;pub use config::VelesConfig;pub use config::LoggingConfig;pub use config::ServerConfig;pub use config::StorageConfig;pub use fusion::FusionError;pub use fusion::FusionStrategy;pub use metrics::average_metrics;pub use metrics::compute_latency_percentiles;pub use metrics::hit_rate;pub use metrics::mean_average_precision;pub use metrics::mrr;pub use metrics::ndcg_at_k;pub use metrics::precision_at_k;pub use metrics::recall_at_k;pub use metrics::LatencyStats;pub use observer::DatabaseObserver;
Modules§
- agent
- Agent Memory Patterns SDK (EPIC-010)
- alloc_
guard - RAII guards for safe manual memory management.
- cache
- Caching layer for
VelesDB(SOTA 2026). - collection
- Collection management for
VelesDB. - column_
store - Column-oriented storage for high-performance metadata filtering.
- compression
- Column compression for
VelesDB(SOTA 2026). - config
VelesDBConfiguration Module- distance
- Distance metrics for vector similarity calculations.
- error
- Error types for
VelesDB. - filter
- Metadata filtering for vector search.
- fusion
- Multi-query fusion strategies for
VelesDB. - gpu
- GPU-accelerated vector operations using wgpu (WebGPU).
- guardrails
- Production-grade query guard-rails (EPIC-048).
- half_
precision - Half-precision floating point support for memory-efficient vector storage.
- index
- Index implementations for efficient vector search.
- metrics
- Search quality metrics, operational monitoring, and query diagnostics.
- observer
DatabaseObserver— extension hook for velesdb-premium.- perf_
optimizations - Performance optimizations module for ultra-fast vector operations.
- point
- Point data structure representing a vector with metadata.
- quantization
- Scalar Quantization (SQ8) and Binary Quantization for memory-efficient vector storage.
- simd_
dispatch - Zero-overhead SIMD function dispatch.
- simd_
native - Native SIMD intrinsics for maximum performance.
- sparse_
index - Sparse vector types, inverted index, and search – always compiled (no persistence dependency). Sparse vector types, inverted index, and search.
- storage
- Storage backends for persistent vector storage.
- sync
- Synchronization primitives with loom support for concurrency testing.
- vector_
ref - Zero-copy vector reference abstraction.
- velesql
VelesQL- SQL-like query language forVelesDB.
Macros§
- sum_
remainder_ unrolled_ 8 - Macro for unrolled remainder sum computation (1-7 elements). Generates optimal code for remainders 1-7 with 4->2->1 unrolling.
- sum_
squared_ remainder_ unrolled_ 8 - Macro for unrolled squared L2 remainder (1-7 elements).
Structs§
- Database
- Database instance managing collections and storage.