SynaDB

An AI-native embedded database

Zero config. Single file. Built for ML workloads.

pip install synadb

Built for AI workflows

Everything you need for ML development in a single embedded database.

Vector Search

Native HNSW index for similarity search. Optional FAISS backend for billion-scale deployments.

MmapVectorStore

Ultra-high-throughput vector ingestion at 490K vectors/sec. 7x faster than standard VectorStore.

Gravity Well Index

Novel O(N) build time index. 168x faster than HNSW for streaming and real-time data.

Cascade Index

Three-stage hybrid index combining LSH, bucket trees, and sparse graphs. Tunable recall up to 99%.

Experiment Tracking

Log parameters, metrics, and artifacts locally. No external server required.

Tensor Storage

Store and retrieve tensors directly to NumPy and PyTorch with zero serialization overhead.

Model Registry

Version models with SHA-256 checksums. Promote through development, staging, and production stages.

LLM Integrations

Native support for LangChain, LlamaIndex, and Haystack. Drop-in vector stores and chat history.

ML Integrations

PyTorch Dataset/DataLoader and TensorFlow tf.data integration. Distributed training support.

Studio Web UI

Visual database explorer with 3D embedding clusters, model registry browser, and statistics dashboard.

CLI Tool

Command-line interface for database inspection, management, and scripting workflows.

GPU Direct

CUDA tensor loading with pinned memory and async streams. Zero-copy GPU memory access.

Single File

Your entire database in one portable file. No server process, no configuration files.

High Performance

Written in Rust. 100K+ writes per second. Sub-millisecond reads with in-memory indexing.

Cross-Platform

Native binaries for Linux, macOS (Intel & Apple Silicon), and Windows. C-ABI for any FFI language.

Get started

Python
pip install synadb
Rust
cargo add synadb
example.py
from synadb import SynaDB, VectorStore

# Key-value storage
db = SynaDB("project.db")
db.put_float("accuracy", 0.95)
db.put_text("model_name", "bert-base")

# Vector similarity search
vectors = VectorStore("embeddings.db", dimensions=768)
vectors.insert("doc_1", embedding)
results = vectors.search(query, k=10)

Three paradigms, one database

SynaDB synthesizes the best ideas from three database traditions.

SQLite

Single file, zero config, embedded library. No server to manage.

DuckDB

Columnar history, efficient tensor extraction, analytical queries.

MongoDB

Schema-free storage, flexible data types, no migrations needed.

Resources