Skip to content
Search

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
  • Why SQLite was forked: new features can be integrated easily while keeping compatibility with existing code
    • Drawback: SQLite's test suite is proprietary and written in C, which makes evolving the code difficult
  • A new approach
    • Ran into SQLite's limits while adding vector search
    • Exploring whether rewriting SQLite from scratch allows more aggressive feature additions while keeping compatibility
  • Next steps
    • Turning Limbo into an official Turso project
    • Goal of building a new architecture that provides memory safety while keeping the same reliability as SQLite
  • Challenging SQLite's reliability
    • Achieving high reliability through deterministic simulation testing (DST)
    • Working with Antithesis to use a system-level DST framework
  • Current state
    • 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
  • More information
    • 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

See also

Favorite site

author Zer0 sitemap