The AI-native retrieval engine. SQL + Vector + Graph + Code-Graph + Graph-RAG + native MCP + in-process embedder. Zero external services. 35 MB.
The database that replaces your entire stack. HeliosDB Nano packs PostgreSQL + MySQL wire protocols, native vector search, database branching, time-travel queries, and AES-256 encryption into a 47 MB binary that uses 30 MB of RAM — while MySQL alone needs 570 MB and 400 MB RAM without any of those features.
Built in Rust for AI-powered applications, edge deployments, WordPress/CMS platforms, and any modern app that needs more than just SQL. Every feature in Nano is also available in Lite and Full, making it easy to start small and scale up.
// 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'));
-- FIPS 140-3 compliance (all tiers)
-- Enabled via compile-time feature flag
-- to avoid runtime performance impact
cargo build --features fips --release
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 is the first embedded database to support both PostgreSQL and MySQL wire protocols natively. Connect with any MySQL client, driver, or ORM — no external middleware required — MySQL syntax is translated transparently.
# Start with both PostgreSQL and MySQL protocols
$ heliosdb-nano start --data-dir ./mydata --mysql
# Connect with PostgreSQL client
$ psql -h 127.0.0.1 -p 5432
# Connect with MySQL client (same database!)
$ mysql -h 127.0.0.1 -P 3306
# Same data, same tables, any protocol
mysql> SELECT * FROM users;
+----+-------+-------------------+
| id | name | email |
+----+-------+-------------------+
| 1 | Alice | alice@example.com |
+----+-------+-------------------+
HeliosDB Nano includes a complete BaaS layer — no Supabase, no Firebase, no external services required. Auth, REST API, Realtime subscriptions, and file storage are built into the same binary that runs your database.
/docs + OpenAPI 3.0 spec at /openapi.json — interactive API explorer built in# REST API — zero config, works out of the box
$ curl localhost:8080/rest/v1/users?role=eq.admin&select=id,name
# Auth — built-in signup and JWT
$ curl -X POST localhost:8080/auth/v1/signup \
-d '{"email":"alice@example.com","password":"s3cret"}'
# OAuth — redirect to Google login
$ curl localhost:8080/auth/v1/authorize?provider=google
# Realtime — WebSocket subscription
wscat -c ws://localhost:8080/realtime/v1/websocket
> {"event":"phx_join","topic":"realtime:public:orders"}
HeliosDB Nano now combines keyword search (BM25 scoring) with vector similarity in a single query. Reciprocal Rank Fusion (RRF) and Maximal Marginal Relevance (MMR) merge both result sets — no Elasticsearch, no external search service.
WHERE content MATCH 'query' (keyword) with embedding <=> $vec (semantic) in one query.PREPARE COMPILED pre-optimizes hot-path queries. Cached execution plans skip planning overhead on repeated calls.-- Keyword search (BM25)
SELECT title, bm25_score(content, 'database')
FROM articles
ORDER BY bm25_score DESC LIMIT 10;
-- Hybrid: keyword + vector with RRF
SELECT title,
rrf(
bm25_score(content, 'database scaling'),
1.0 - (embedding <=> $query_vec)
) AS score
FROM articles
ORDER BY score DESC LIMIT 10;
-- MMR for diverse results
SELECT * FROM mmr(
'articles', 'embedding',
$query_vec, 10, 0.7
);
Query graph relationships on your relational data without a separate graph database. HeliosDB Nano v3.19.1 adds native adjacency list storage and graph traversal functions — SQL + Vector + Graph + Full-Text in one binary.
-- Create graph edges
CREATE TABLE edges (
src INT, dst INT,
rel TEXT, weight FLOAT
);
-- Find neighbors
SELECT dst, rel, weight
FROM graph_neighbors('edges', 42);
-- Shortest path
SELECT * FROM graph_shortest_path(
'edges', 1, 99
);
-- GraphRAG: semantic + structure
SELECT n.title, n.embedding <=> $q
FROM graph_neighbors('edges', 42) g
JOIN nodes n ON n.id = g.dst
ORDER BY n.embedding <=> $q
LIMIT 5;
Most code-search tools live outside the database — bolt-ons that scan, index, and re-index your repo with their own storage. HeliosDB Nano makes the AST a first-class table. CREATE EXTENSION hdb_code; CREATE AST INDEX ON src/, and your codebase becomes queryable in SQL. LSP-style queries push down through the same FilteredScan path that bloom-filters and zone-maps already accelerate.
lsp_definition, lsp_references, lsp_call_hierarchy, lsp_hover, lsp_document_symbols, helios_lsp_rename_preview / helios_lsp_rename_apply. The last two land write-side refactors with sha256 conflict checking.register_grammar + register_extractor) for plugging in any tree-sitter grammar.ON BRANCH '<name>' per-call override and AS OF combine in either order. RAII branch guard restores state on every early-return path.hdb_code.pause() / resume() for migrations.--features code-embed and Nano embeds locally with fastembed-rs + BGESmallENV15 (384-dim, ~30 MB model cache, no on-disk impact on the binary). External HttpEmbedder remains an option.helios_lsp_references_diff, helios_lsp_body_diff, helios_ast_diff. Accept any AS OF ref: {"now": true}, {"commit": "sha"}, {"timestamp": "iso"}.-- Index your repo as a queryable AST
CREATE EXTENSION hdb_code;
CREATE AST INDEX ON repo (path, lang, content);
-- Where is this function defined?
SELECT path, line FROM lsp_definition('execute_query');
-- Time-travel + branch on the same call (v3.19)
SELECT * FROM lsp_definition('execute_query')
ON BRANCH 'feat/refactor'
AS OF TIMESTAMP '2026-04-15T00:00:00Z';
-- Rename refactor with conflict check (v3.19)
SELECT * FROM helios_lsp_rename_preview(
'old_name', 'new_name'
);
SELECT * FROM helios_lsp_rename_apply(
'old_name', 'new_name',
dry_run := false
);
-- Diff helpers
SELECT * FROM helios_lsp_references_diff(
'main', 'feat/refactor'
);
-- Languages registered (system view, v3.19)
SELECT name, source FROM hdb_code_languages;
RAG pipelines glue together a vector store, a graph database, an entity linker, and a re-ranker — four services to deploy and keep in sync. HeliosDB Nano collapses them into one engine. WITH CONTEXT is a SQL clause; _hdb_graph.nodes and _hdb_graph.edges are queryable tables; entity linking and auto-projection happen on insert.
(1−α)·distance − α·centrality. Prefilter-aware HNSW wrapper over-fetches candidates, applies row-level prefilters, then re-scores.CREATE SEMANTIC HASH INDEX exposes subtree hashing at the SQL layer. Only re-embed what changed.graph_rag_ingest_docs, _email, _issues, _qa — plus Docling-backed PDF / Office / audio / image (v3.19).graph_rag_link_vector emits MENTIONS edges with weight = similarity; threshold-gated cosine top-k.-- Ingest a PDF, an Office doc, audio, an image (v3.19)
SELECT graph_rag_ingest_pdf('/docs/handbook.pdf');
SELECT graph_rag_ingest_office('/contracts/2026-Q1.docx');
SELECT graph_rag_ingest_audio('/calls/standup.m4a');
SELECT graph_rag_ingest_image('/diagrams/topology.png');
-- Ground an LLM query with subgraph context
SELECT answer
FROM ask_llm('What changed in the auth flow last quarter?')
WITH CONTEXT (
seed_text = 'auth flow',
seed_kinds = ['function', 'doc'],
edge_kinds = ['IMPORTS', 'REFERENCES', 'MENTIONS'],
hops = 3,
rerank = 'centrality'
);
-- Incremental re-embed via semantic-Merkle (v3.19)
CREATE SEMANTIC HASH INDEX IF NOT EXISTS
graph_rag_chunks_hash ON _hdb_graph.nodes;
Every modern coding agent — Claude Code, Cursor, Continue, Codex, Aider — speaks Model Context Protocol. HeliosDB Nano speaks it natively. No wrapper process, no glue server, no shell-out. Tool discovery (tools/list), execution (tools/call), and a JSON-RPC 2.0 handshake on three transports.
POST /mcp (HTTP JSON-RPC), /mcp/ws (WebSocket), /mcp/sse (Server-Sent Events). Plus stdio for sandboxed agents.mcp_tool! macro registers via the inventory crate. BM25, hybrid search, graph operations, and helios_graphrag_search surface automatically.notifications/progress messages flow over WS and stdio when the client opts in via _meta.progressToken. helios_graphrag_search emits "seeding" and "n hits" events for live UX.tools/list?verbose=true, helios/info JSON-RPC method, GET /mcp/info route. One round-trip for serverInfo + capabilities + verbose tool catalogue + resource list.Mcp-Session-Id. POSTs paired with an open SSE channel get progress events forwarded while the POST returns the final response.# Discover tools (v3.19 verbose)
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list",
"params":{"verbose":true},"id":1}'
# helios/info: one-shot discovery
GET http://localhost:8080/mcp/info
# Streaming progress over WebSocket (v3.19)
ws://localhost:8080/mcp/ws
> {"jsonrpc":"2.0","method":"tools/call",
"params":{"name":"helios_graphrag_search",
"arguments":{"seed_text":"auth flow"},
"_meta":{"progressToken":42}},"id":2}
< notifications/progress {"token":42, "message":"seeding"}
< notifications/progress {"token":42, "message":"127 hits"}
< tools/call response <final>
# Or via Claude Code / Cursor MCP config
{
"mcpServers": {
"heliosdb-nano": {
"url": "http://localhost:8080/mcp",
"auth": {"type":"bearer","token":"$HDB_TOKEN"}
}
}
}
First measured numbers for the AI-retrieval pitch. Single-machine, release build, criterion methodology.
WordPress powers 43% of the web. Every installation requires a separate MySQL server — until now. HeliosDB Nano v3.19.1 runs WordPress 100% natively: 37/37 tests pass, zero workarounds, no db.php required. The first embedded database to achieve this.
Deploy WordPress as a single container with one process. No separate MySQL instance, no credentials, no server coordination. Just PHP and a single database file.
CREATE BRANCH staging — instant copy-on-write clone for testing plugins and themes. No mysqldump, no restore, no downtime. Merge or discard when done.
SELECT * FROM wp_posts AS OF TIMESTAMP '2024-01-01' — recover any deleted post, page, or setting without backups.
Native HNSW vector search means WordPress can do semantic search without Elasticsearch or Algolia. Find content by meaning, not just keywords.
AES-256-GCM TDE with zero WordPress plugin changes. Every shared hosting customer gets database encryption automatically. GDPR compliance built in.
Just copy mysite.helio. No mysqldump, no credentials, no server coordination. Atomic, consistent, instant backup and restore.
HeliosDB Nano is the only database where you can connect with psql, mysql, and the embedded Rust API to the same data simultaneously. This isn't protocol emulation — it's native wire protocol support for both PostgreSQL and MySQL.
# Connect via PostgreSQL
$ psql -h localhost -p 5432
=> SELECT * FROM users;
# Connect via MySQL (same data!)
$ mysql -h 127.0.0.1 -P 3307
> SELECT * FROM users;
# Connect via embedded Rust API
let db = EmbeddedDatabase::new("mydata");
let rows = db.query("SELECT * FROM users")?;
# All three see the same tables,
# same rows, same transactions.
# Switch drivers without migrating data.
WordPress is the biggest prize, but the same polyglot value applies to every MySQL or PostgreSQL framework.
| Framework | Protocol | HeliosDB Nano |
|---|---|---|
| WordPress / Drupal / Joomla | MySQL | ✓ Native |
| Laravel / Symfony (PHP) | MySQL / PG | ✓ Both |
| Ruby on Rails | MySQL / PG | ✓ Both |
| Django (Python) | MySQL / PG | ✓ Both |
| Express / Fastify (Node.js) | PG / MySQL | ✓ Both |
| Rust (SQLx / Diesel) | PG / Embedded | ✓ All 3 |
MySQL gives you SQL in a 570 MB image. HeliosDB Nano gives you SQL + vector search + branching + time-travel + encryption in 47 MB — with native MySQL and PostgreSQL protocol support. WordPress runs 100% natively: 37/37 tests pass, zero workarounds.
First embedded database to run WordPress natively — PostgreSQL, MySQL, and SQLite compatible from a single binary. Verified on Nano v3.19.1.
# Resource Comparison
Docker Image
HeliosDB Nano 47 MB
MariaDB 400 MB
MySQL 8.0 570 MB
RAM Usage
HeliosDB Nano ~30 MB
MariaDB ~300 MB
MySQL 8.0 ~400 MB
Startup Time
HeliosDB Nano 10ms
MariaDB 3-5s
MySQL 8.0 5-10s
Embedded Mode
HeliosDB Nano Yes
MariaDB No
MySQL 8.0 No
Vector Search
HeliosDB Nano Native HNSW
MariaDB No
MySQL 8.0 Plugin
Encryption (AES-256)
HeliosDB Nano Built-in
MariaDB Plugin
MySQL 8.0 Enterprise only
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.
Ready-to-use deploy templates for Docker Compose, Railway, Fly.io, and Render — all pre-configured with PostgreSQL + MySQL listeners.
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.
Drop-in embedded MySQL replacement for WordPress, Drupal, Joomla, and any PHP CMS. Zero database server, single-file deployment, native MySQL wire protocol.
Download HeliosDB Nano and start building in minutes. Free and open source.