AionDB v0.3 is live: vector search becomes a first-class engine surface with pgvector-style SQL, HNSW, IVF-flat, Qdrant-style filters, and published recall/latency benchmarks. See the v0.3 vector update.

Release Notes

New in v0.3: the vector update is live. Start with What's New in v0.3 and v0.3 Vector Performance.

v0.3 vector update

v0.3 adds the vector stack: pgvector-style SQL, HNSW, IVF-flat, Qdrant-style filtered helpers, PostgreSQL ecosystem compatibility work, and a reproducible vector benchmark harness.

Highlights

Vector benchmark snapshot

Default run:

cd benchmarks/vector-compare
cargo run --release
BackendBuild msRecall@10Mean usp50 usp95 usp99 us
AionDB HNSW raw365710.996942387901567417233
AionDB HNSW PQ747420.99413072123551765918471
AionDB IVF-flat nprobe=84180.46680982712231766
AionDB IVF-flat nprobe=324160.8632572247436033977
Brute-force exact01.000993095201429318991

The release message is now simple: AionDB gives builders SQL, graph, and vector retrieval in one local Rust engine.

v0.2 graph and observability update

v0.2 strengthened graph observability, EXPLAIN (FORMAT JSON), storage/WAL documentation, and Neo4j-oriented compatibility evidence. The full product-facing delta is in What's New in v0.2.

v0.1 alpha

AionDB v0.1 is the first public alpha line. It is intended for evaluation, inspection, local benchmarking, and early feedback.

The release should be judged as a technical preview. It is useful if a reader can understand the model, run the database locally, connect through a PostgreSQL client, and reproduce the examples. It should not be presented as a mature production database.

Included surfaces

Status by surface

Surfacev0.1 status
Server startupAvailable for local evaluation.
Pgwire clientsUsable for supported SQL paths; driver behavior must be tested.
Embedded Rust APIAvailable for in-process evaluation.
SQLPractical subset, not full PostgreSQL.
Graph labelsAvailable for evaluation; validate exact workload behavior.
Vector functionsAvailable for fixed-dimension vectors.
Vector indexesHNSW DDL path available; benchmark exact workload.
Durable storageAvailable for local evaluation; alpha format.
Storage compatibilityStorage v1 manifest, doctor, and upgrade tooling are available.
Logical backupSQL dump/restore path is available for v0.1 evaluation.
ObservabilityLocal HTTP health, readiness, metrics, and product info endpoints are available.
Explain JSONAvailable for AionDB-native tooling and evaluation; the payload now carries explicit provenance for graph signals (observed, inferred, mixed, unavailable). Treat it as a versioned AionDB-specific contract, not a cross-database format.
Neo4j Query API wrapperExperimental HTTP compatibility surface with grouped smoke evidence; not a Bolt or official Neo4j driver claim.
Neo4j Bolt compatibilityExperimental read-only compatibility listener with grouped review evidence; the current P0 tool wave can pass end-to-end when the local JavaScript, Java, and cypher-shell clients are provisioned, and make product-smoke will run that optional wave automatically in that environment.
Neo4j Browser preflightBrowser-oriented Bolt procedure preflight evidence is available as a separate grouped smoke; treat it as server-side readiness evidence, not Browser UI validation.
PackagingLocal archive, checksum, manifest, prebuilt GHCR images, Dockerfile, compose profile, Kubernetes profile, and systemd template are available.
HA/distributed operationNot a public production contract.

Suggested first run

Start with the Docker quickstart:

cp .env.example .env
$EDITOR .env
docker compose --profile studio up

Open AionDB Studio at http://127.0.0.1:8082, then connect with psql if you also want terminal access:

source .env
PGPASSWORD="$AIONDB_BOOTSTRAP_PASSWORD" \
psql "host=127.0.0.1 port=${AIONDB_PGWIRE_PORT:-5432} dbname=default user=$AIONDB_BOOTSTRAP_USER sslmode=disable"

Run the smoke SQL file first, then try the tutorial schema, one SQL join, one graph label example, and one vector distance query.

License

AionDB core is licensed under BUSL-1.1 with an Apache License 2.0 change license and a separate commercial license path. Third-party components keep their original licenses and notices.

Known limits

Internal testing, fuzzing, and compatibility validation are encouraging. That is not yet the same thing as a public production-ready claim.

AionDB will only claim production readiness after at least one month of continuous testing and fuzzing on the release line being shipped.

Compatibility notes

The release is PostgreSQL-facing because it speaks pgwire and implements PostgreSQL-compatible behavior where supported. It is not PostgreSQL-complete. Test application drivers, prepared statements, generated ORM SQL, type mapping, and catalog introspection before making compatibility claims.

Benchmark notes

Any public number should include commit hash, build command, benchmark command, dataset size, hardware, durability mode, protocol path, and raw output. Numbers without those details should be treated as local observations only.

Upgrade policy

Storage v1 directories should be inspected with:

aiondb doctor --data-dir ./data/aiondb

If doctor reports an upgrade path, run:

aiondb upgrade --data-dir ./data/aiondb

Keep test data reproducible from SQL or fixture files. Before production-like testing, also keep a canonical SQL export:

aiondb dump --data-dir ./data/aiondb --output pre-upgrade.sql

Binary online backup and point-in-time recovery are not v0.1 release claims.

Release artifact checks

For a local release candidate:

make product-smoke

This checks formatting, workspace compilation, storage compatibility, CLI dump/restore, observability routes, the grouped neo4j-http-p1 Query API compatibility smoke, documentation links, package contents, package checksum/manifest, and the static deployment profiles.

Bolt-oriented Neo4j ecosystem evidence is still reviewed separately through target/compat/neo4j-p0-smoke.json. At the current maturity level, that report should reach passing when the local JavaScript driver, Java driver, and cypher-shell provisioning inputs are present. If some of those local clients are intentionally absent, a clearly explained partial report is still acceptable review evidence.

The local archive manifest records:

Feedback wanted

The most valuable feedback for v0.1 is concrete:

Reports should include commit hash, command, SQL text, expected result, actual result, and client driver when relevant.

Before presenting v0.1 publicly, check: