LlamaDB
discontinuedby Dan Spencer · since 2015 · also known as llamadb
Hobby SQL database in Rust built to learn SQL internals; archived and explicitly not for real use.
discontinued. Hobby project, archived on GitHub; last commit Dec 2017. The author marks it unmaintained and not for real use.
Overview
LlamaDB is a learning project by Dan Spencer, started in 2015 when Rust was barely 1.0, to understand how SQL databases work and to test whether Rust suited large systems software. It implements a SQL parser, a query planner and executor, and a B-tree storage layer modelled on SQLite's documentation, with a small CLI prompt for running queries. The author states plainly that it will never be production-ready. Development ended in 2017 and the repository is archived, but it remains a readable, MIT-licensed example of a from-scratch SQL engine in early Rust.
Strengths & trade-offs
Strengths
- +Compact, readable SQL parser, planner and executor in Rust
- +B-tree design modelled on SQLite's documented format
- +Permissive MIT license for reuse in teaching
Trade-offs
- −Archived and explicitly never production-ready
- −Written against pre-stable nightly Rust; needs work to build today
Great for
- +Studying how a small SQL engine is put together
- +Historical example of early systems programming in Rust
Think twice for
- −Storing any real data
Capabilities
Native or official first-party support · 2 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- None
- Consistency
- Strong
- Schema
- Strict
- Architecture
- Embedded, Single node
- Query languages
- SQL (subset)
Deployment
Ecosystem
Alternatives to LlamaDB
The in-process SQL engine that ships in every phone, browser and OS: one file, zero servers.
llamadb vs sqlite →In-process columnar SQL database: the SQLite of analytics, running inside your app or notebook.
llamadb vs duckdb →Ground-up Rust rewrite of SQLite with concurrent writes, async I/O, CDC and vector search.
llamadb vs turso-database →Pure-Rust embedded key-value store: copy-on-write B-trees, ACID, and a stable file format.
llamadb vs redb →Ambitious lock-free embedded Rust database whose 1.0 rewrite has stalled in alpha.
llamadb vs sled →Desktop database and forms builder bundled with Microsoft 365; still everywhere in back offices.
llamadb vs microsoft-access →LlamaDB FAQ
What is LlamaDB?
LlamaDB is a relational database by Dan Spencer, first released in 2015. LlamaDB is a learning project by Dan Spencer, started in 2015 when Rust was barely 1.0, to understand how SQL databases work and to test whether Rust suited large systems software. It implements a SQL parser, a query planner and executor, and a B-tree storage layer modelled on SQLite's documentation, with a small CLI prompt for running queries. The author states plainly that it will never be production-ready. Development ended in 2017 and the repository is archived, but it remains a readable, MIT-licensed example of a from-scratch SQL engine in early Rust.
Is LlamaDB open source?
Yes. LlamaDB is open source. License: MIT License.
Does LlamaDB support ACID transactions?
No. LlamaDB does not provide ACID transactions; its consistency model is strong.
Does LlamaDB scale horizontally?
LlamaDB does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run LlamaDB?
You can self-host it and embed it in your application.
What is LlamaDB best for?
LlamaDB is a strong fit for studying how a small SQL engine is put together and historical example of early systems programming in Rust. Think twice for storing any real data.
What are the best alternatives to LlamaDB?
Common alternatives to LlamaDB include SQLite, DuckDB, Turso Database (Limbo), redb and sled. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
Is LlamaDB still maintained?
LlamaDB is discontinued. Hobby project, archived on GitHub; last commit Dec 2017. The author marks it unmaintained and not for real use.
How popular is LlamaDB?
LlamaDB ranks #609 of 844 databases on the WhichDB Score (0.8/100), and #187 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.