AeroDB
A lightweight embedded relational database engine written in Rust. Single-file storage with B-tree architecture for fast, portable SQL workloads. Everything — tables, indexes, metadata — lives in one file. Built entirely with test-driven development over 123 commits.
Architecture
SQL Support
- CREATE TABLE
- CREATE INDEX
- DROP TABLE
- DROP INDEX
- SELECT
- INSERT
- UPDATE
- DELETE
- WHERE
- GROUP BY
- ORDER BY
- JOIN
Storage Engine
B-tree indexing — All data access goes through a B-tree that supports both primary key lookups and secondary index scans. Reads and writes are O(log n), keeping performance predictable as tables grow.
Single-file design — Inspired by SQLite, the entire database (tables, indexes, metadata) lives in one file. No server process, no configuration. Open the file and query.
ACID transactions — Statements execute in implicit transactions by default. Explicit BEGIN...COMMIT blocks group multiple operations with full atomicity, consistency, isolation, and durability.
In Progress
- Concurrency control — locking or MVCC for concurrent access
- Storage engine internals documentation and architecture articles
- Tutorial series on B-tree implementation and SQL parsing in Rust