turbolite is an experimental SQLite VFS written in Rust that enables serving SQLite queries directly from S3-compatible object storage with sub-250ms cold latency. It achieves this through several architectural innovations: B-tree-aware page grouping (packing related pages into single S3 objects), seekable zstd multi-frame compression for efficient range GETs, aggressive prefetching via query-plan frontrunning and adaptive reactive prefetch, and a manifest-based indirection layer replacing SQLite's implicit page offsets. It also supports AES-256 encryption at the page level. Benchmarks on a 1.5GB, 1M-row dataset show point lookups at 77ms cold on S3 Express One Zone and 259ms on Tigris. The library ships as a Rust crate, Python package, Node.js package, Go bindings, and a loadable SQLite extension. It targets multi-tenant architectures where hundreds or thousands of isolated SQLite databases per deployment make per-database volumes impractical.
Table of contents
PerformanceQuick StartDesignStrengths and LimitationsTuningDurabilityLocal Mode (no S3)Predictive Prefetching (Experimental)InstallationRelated Projects and ComparisonBenchmarkingTestingNotesLicense1 Comment
Sort: