🌋🤨
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 279
- Forks
- 25
- PR merge metrics
- No merged PRs in 30d
Description
First of all, thank you very much for publishing this repo and the accompanying article, it has been incredibly insightful to me. One qualm I wanted to raise was noticing that minisqlite behaves mostly like a sqlite database, but by design it is quite different. I'll let Fable detail the specifics:
Where it diverges: Volcano-style pull execution instead of a bytecode VM, skipped the VFS trait and sans-IO design entirely (plain std I/O, no simulator harness), and ships no C API, no CLI, and no prepared statements — the whole public API is Connection::{open, open_in_memory, execute, query}. It also has no cost-based planning — ANALYZE writes real sqlite_stat1 rows, but the planner doesn't read them yet. So: a real format-3 implementation with disciplined architecture, positioned as an embedded library for one process at a time, not a full sqlite3 replacement.
Although I don't think this diminishes the published work, I am curious how the swarm came to the volcano design decision when much of the above is well documented in the pages of SQLite docs (e.g. https://sqlite.org/arch.html). It seems to me this was less of a "building SQLite from scratch, in Rust, from nothing but its documentation" and more of a "build a database that behaves like SQLite but is designed to benefit from swarm decomposition" or as Fable put it "Conway's law, agent edition".
Just thought I would raise this in case the authors wanted to share any further details not covered by the article.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file, test, or entry point is named, and the issue asks for architectural context rather than a specific change. Start by reading the accompanying article, the repository documentation, and SQLite's architecture documentation; done would require a decided explanation of the Volcano design and its relationship to swarm decomposition.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, sqlite
- Domain
- databases, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100