Earlier quoted context omitted.
Not today, but the architecture isn't fundamentally incompatible. The page grouping and seekable compression would translate well to browser fetch + range GETs. It would need a new storage backend targeting OPFS/fetch instead of S3/disk. I'm happy to discuss more if you'd like to open a Github issue - abstracting the storage API seems like a decent idea in itself.
Also I'm curious how you would handle credentials - would you be proxying through your backend? To me turbolite is definitely a backend tool.
Show HN: Turbolite – a SQLite VFS serving sub-250ms cold JOIN queries from S3
51–55 of 55 posts
Re: Show HN: Turbolite – a SQLite VFS serving sub-250ms cold JOIN queries from S3
#52What are your thoughts on eviction, re how easy to add some basic policy?
Great question. I have some eviction functions in the Rust library; I don’t expose them through the extension/VFS yet. The open question is less “can I evict?” and more “when should eviction fire?” via user action, via policy, or both. The obvious policy-driven versions are things like: - when cache size crosses a limit - on checkpoint - every N writes (kind of like autocheckpoint) - after some idle / age threshold M…
Re: Show HN: Turbolite – a SQLite VFS serving sub-250ms cold JOIN queries from S3
#53Re: Show HN: Turbolite – a SQLite VFS serving sub-250ms cold JOIN queries from S3
#54What are your thoughts on eviction, re how easy to add some basic policy?
Great question. I have some eviction functions in the Rust library; I don’t expose them through the extension/VFS yet. The open question is less “can I evict?” and more “when should eviction fire?” via user action, via policy, or both. The obvious policy-driven versions are things like: - when cache size crosses a limit - on checkpoint - every N writes (kind of like autocheckpoint) - after some idle / age threshold M…
Re: Show HN: Turbolite – a SQLite VFS serving sub-250ms cold JOIN queries from S3
#55Nice set of experiments! I appreciate that you're running benchmarks on real object storage setups to validate rapid design variations. (Meta-note: I love how agents have recently made this kind of experimental-research work possible with much less human time investment.) I've been doing some experiments of my own in a relatively similar space, also focusing on S3/Tigris-backed SQLite on ephemeral compute, also with…
Fantastic comment, thanks for jumping in. I have well-tuned replies here lol given we're working on exactly the same problems! First: your prefetch solution is precisely what I have in the roadmap for the next level of optimization: B-tree introspection at the page-child level not the table level. I haven't launched it yet as I only realized the potential in the past couple days and I wanted to focus on stability bef…
A system that combines both WAL frames with cold-read-optimized grouped pages is another interesting point in the design-space. Tuning the intervals separately could make it work well- frequent WAL-checkpoint uploads, and grouped pages only on higher-level compaction cycles for cold-read optimization on longer-lived objects.
Looking forward to seeing where you head with this!