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.1-cp312-cp312-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for nusterdb-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 73b7dfdf5dbeddedd91647505a96813159997397dcd287f99a6842b9a365e159
MD5 93b17a845e6dd9158c64378719008e36
BLAKE2b-256 d37f49faee00236f88ff7f15ceb41898851eb729d067dee51d40bb399264cfc5

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