Embedded AI-Native Database — SQLite simplicity with PostgreSQL power.
Lightweight embedded database for AI applications, edge devices, and single-server deployments. Combine the zero-config simplicity of SQLite with the power and SQL compatibility of PostgreSQL — all in a single, compact binary written in Rust.
Nano is the foundation of the HeliosDB platform. Every feature in Nano is also available in Lite and Full, making it easy to start small and scale up as your needs grow.
// Three lines to a working database
let db = HeliosDB::open("myapp.db")?;
db.execute("CREATE TABLE docs (
id SERIAL PRIMARY KEY,
content TEXT,
embedding VECTOR(768)
)")?;
// Semantic search in one query
let results = db.query("
SELECT content, embedding <=> $1 AS dist
FROM docs ORDER BY dist LIMIT 10
", &[&query_vec])?;
HeliosDB Nano includes built-in vector search powered by HNSW indexing with Product Quantization compression. No extensions required — vector types and operators are first-class citizens in the SQL engine.
-- Create a table with vector column
CREATE TABLE documents (
id SERIAL PRIMARY KEY,
title TEXT,
content TEXT,
embedding VECTOR(768)
);
-- Create HNSW index with PQ compression
CREATE INDEX idx_docs_embedding
ON documents USING hnsw (embedding vector_cosine_ops)
WITH (m = 16, ef_construction = 200);
-- Semantic similarity search
SELECT title, content,
embedding <=> $query_vec AS distance
FROM documents
ORDER BY distance
LIMIT 10;
HeliosDB is the only SQL database with Git-like branching at the storage layer. Create zero-cost copy-on-write branches for schema testing, A/B experiments, and safe migrations — without duplicating data.
-- Create a branch for schema testing
CREATE BRANCH feature_auth
FROM main;
-- Switch to the new branch
SWITCH BRANCH feature_auth;
-- Make changes safely
ALTER TABLE users
ADD COLUMN role TEXT DEFAULT 'user';
-- Test the changes...
INSERT INTO users (name, role)
VALUES ('admin', 'superuser');
-- Merge back when satisfied
SWITCH BRANCH main;
MERGE BRANCH feature_auth
INTO main;
Query any point in your database's history using the AS OF syntax. Time-travel enables audit compliance, production debugging, and data recovery without restoring from backups.
-- Query data as it existed yesterday
SELECT * FROM orders
AS OF TIMESTAMP '2026-02-05 14:30:00';
-- Compare current vs. historical data
SELECT
current.balance,
historical.balance AS prev_balance,
current.balance - historical.balance AS delta
FROM accounts current
JOIN accounts AS OF VERSION 42 historical
ON current.id = historical.id;
-- Recover accidentally deleted data
INSERT INTO users
SELECT * FROM users
AS OF TIMESTAMP '2026-02-05 09:00:00'
WHERE id = 1234;
HeliosDB Nano ships with enterprise-grade security features built in, not bolted on. From transparent data encryption to zero-knowledge encryption, your data is protected at every level.
-- Enable transparent data encryption
ALTER DATABASE myapp
SET encryption = 'AES-256-GCM';
-- Enable zero-knowledge encryption
ALTER TABLE sensitive_data
SET encryption_mode = 'ZKE';
-- Row-Level Security for multi-tenancy
CREATE POLICY tenant_isolation
ON orders
FOR ALL
USING (tenant_id = current_setting('app.tenant_id'));
-- Enable FIPS 140-3 compliance
ALTER SYSTEM SET
fips_mode = 'on';
HeliosDB Nano achieves 95%+ SQL compatibility with PostgreSQL, including full wire protocol support. Use your existing tools, ORMs, and workflows without changes.
-- Standard PostgreSQL syntax works
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
metadata JSONB,
created_at TIMESTAMPTZ DEFAULT now()
);
-- JSONB queries with GIN indexing
CREATE INDEX idx_meta
ON products USING gin (metadata);
SELECT name, metadata->>>'category'
FROM products
WHERE metadata @> '{"active": true}';
-- Window functions, CTEs, all work
WITH ranked AS (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY category
ORDER BY sales DESC
) AS rank
FROM products
)
SELECT * FROM ranked
WHERE rank <= 5;
HeliosDB Nano supports four deployment modes to fit every use case. Start embedded in your application, switch to server mode for shared access, or use in-memory mode for blazing-fast testing.
use heliosdb::{HeliosDB, Config, Mode};
// Embedded mode - zero config
let db = HeliosDB::open("myapp.db")?;
// Server mode - shared access
let db = HeliosDB::builder()
.mode(Mode::Server)
.bind("0.0.0.0:5432")
.max_connections(100)
.build()?;
// In-memory mode - testing
let db = HeliosDB::builder()
.mode(Mode::InMemory)
.build()?;
// Hybrid mode - fast + durable
let db = HeliosDB::builder()
.mode(Mode::Hybrid)
.wal_path("./wal")
.sync_interval_ms(100)
.build()?;
HeliosDB Nano is designed for developers who need a powerful, embedded database without the operational overhead of a full server deployment.
Embed a full-featured database directly in desktop apps with zero installation. Ship a single binary with built-in vector search and branching.
Run on edge devices, IoT sensors, and mobile platforms. The 50 MB binary footprint fits where others can't, with offline-first capability.
Build RAG pipelines, semantic search, and AI agent memory with zero infrastructure. Native vector search means no extension juggling.
Run production workloads on a single server with MVCC, WAL, crash recovery, and enterprise encryption. No cluster overhead required.
Download HeliosDB Nano and start building in minutes. Free and open source.