Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nusterdb-0.1.2-cp312-cp312-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file nusterdb-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nusterdb-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c93eb20ec62912b75376e1cf88656e9dc62384d71241caa8aa1bf976974685e3
MD5 cd74c03231ca5005d3994e3bdca85556
BLAKE2b-256 d0b87d4106974a7cd0810004428d10b477c8f4ff1b002612336c3d6348299c90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page