Limbo
lastmod 2024-12-12created 2024-12-122 edits
SQLite completely rewritten from scratch in Rust
Features
- Limbo is an experimental project that reimplements SQLite in Rust, which provides memory safety
- Started the libSQL project out of a love for SQLite's embedded nature combined with a desire for a more open development model
- Drawback: SQLite's test suite is proprietary and written in C, which makes evolving the code difficult
- Ran into SQLite's limits while adding vector search
- Exploring whether rewriting SQLite from scratch allows more aggressive feature additions while keeping compatibility
- Turning Limbo into an official Turso project
- Goal of building a new architecture that provides memory safety while keeping the same reliability as SQLite
- Achieving high reliability through deterministic simulation testing (DST)
- Working with Antithesis to use a system-level DST framework
- Fully asynchronous I/O: Limbo has a fully asynchronous design, solving the problems of SQLite's synchronous interface
- Designed for WASM: designed with use in WASM environments in mind
- Performance: as fast as or faster than SQLite in many workloads
- Simplicity: provides a better user experience by removing features that matter less in modern environments
- Limbo is available on GitHub under the MIT license
- Invites anyone interested in building an embedded database that takes SQLite's promise to the next level