High-performance vector database with advanced indexing algorithms, multiple distance metrics, and enterprise-grade features
Project description
NusterDB
A high-performance vector database for similarity search and machine learning applications. Built with Rust for speed and efficiency.
Features
- Fast Vector Search: HNSW and Flat indices with sub-millisecond search times
- Multiple Distance Metrics: Cosine, Euclidean, Manhattan, and Dot Product
- Metadata Support: Store and query structured data alongside vectors
- Persistent Storage: RocksDB backend with compression and snapshots
- Python Interface: Simple, intuitive API for seamless integration
Installation
pip install nusterdb
Requirements: Python 3.8+, 64-bit OS
Quick Start
from nusterdb import NusterDB, Vector, Metadata
# Create database (simple method)
db = NusterDB.simple("./vector_db", dim=4, use_hnsw=True)
# Create vectors
vector1 = Vector([0.1, 0.2, 0.3, 0.4])
vector2 = Vector([0.5, 0.6, 0.7, 0.8])
# Add vectors with optional metadata
metadata1 = Metadata({"category": "tech", "source": "doc1"})
metadata2 = Metadata({"category": "science", "source": "doc2"})
db.add(1, vector1, metadata1)
db.add(2, vector2, metadata2)
# Search for similar vectors
query = Vector([0.1, 0.2, 0.3, 0.4])
results = db.search(query, k=2)
for vector_id, distance in results:
print(f"ID: {vector_id}, Distance: {distance:.4f}")
metadata = db.get_metadata(vector_id)
if metadata:
print(f" Metadata: {metadata.get_all()}")
Advanced Usage
from nusterdb import NusterDB, DatabaseConfig, HNSWConfig, DistanceMetric
# Advanced configuration
hnsw_config = HNSWConfig(m=16, ef_construction=200)
config = DatabaseConfig(
dim=384,
index_type="hnsw",
distance_metric=DistanceMetric.cosine(),
hnsw_config=hnsw_config,
auto_snapshot=True,
snapshot_interval_secs=1800
)
# Create database with custom configuration
db = NusterDB("./advanced_db", config)
# Use the database as normal
vector = Vector([0.1] * 384)
db.add(1, vector)
results = db.search(vector, k=10)
Use Cases
- Machine Learning: Embedding search, recommendation systems, similarity matching
- Information Retrieval: Document search, semantic search, content discovery
- Computer Vision: Image similarity, visual search, feature matching
- Natural Language Processing: Text similarity, document clustering, search
Documentation
For detailed API documentation and advanced usage examples, see the User Manual.
License
Proprietary. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nusterdb-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: nusterdb-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c93eb20ec62912b75376e1cf88656e9dc62384d71241caa8aa1bf976974685e3
|
|
| MD5 |
cd74c03231ca5005d3994e3bdca85556
|
|
| BLAKE2b-256 |
d0b87d4106974a7cd0810004428d10b477c8f4ff1b002612336c3d6348299c90
|