October 5th, 2024

Starbase: SQLite on the Edge

Starbase is a scalable database solution utilizing SQLite and Cloudflare Durable Objects, supporting ACID transactions, easy installation via command line, and resources for creating HTTP-accessible SQLite servers.

Read original articleLink Icon
ConfusionCuriositySkepticism
Starbase: SQLite on the Edge

Starbase is a scalable, zero-configuration database solution built on Cloudflare Durable Objects, designed to provide a plug-and-play experience with SQLite. It offers a straightforward installation process via a command line script. The platform is focused on enhancing SQLite's capabilities, particularly in supporting ACID transactions, which are crucial for ensuring data integrity. Additionally, it provides resources for developers to create their own HTTP-accessible SQLite database servers using Cloudflare Durable Objects. Starbase aims to keep users informed with a strategy guide that includes the latest tips, features, and updates.

- Starbase is a scalable database solution based on SQLite and Cloudflare Durable Objects.

- It supports ACID transactions for improved data integrity.

- Users can install Starbase easily using a command line script.

- The platform offers resources for building HTTP-accessible SQLite database servers.

- A strategy guide is available to keep users updated on features and best practices.

AI: What people are saying
The comments on the article about Starbase reveal several key concerns and themes regarding its functionality and comparison to existing solutions.
  • Many users question how Starbase differs from Cloudflare's recent SQLite offerings, particularly regarding features and architecture.
  • There are concerns about data loss and the implementation of query caching, with some users expressing skepticism about the system's reliability.
  • Several comments highlight the website's design, with mixed opinions on its aesthetic appeal versus the clarity of the product's explanation.
  • Users are curious about the technical aspects, such as database-level locking, concurrency, and isolation properties.
  • Some commenters express excitement about the potential of the technology, while others seek clarification on its operational requirements and dependencies on Cloudflare.
Link Icon 20 comments
By @dantiberian - 3 months
I don't really understand what this is offering beyond Cloudflare's recent release of running SQLite in durable objects: https://blog.cloudflare.com/sqlite-in-durable-objects/. Is it about providing an external interface to Cloudflare's SQLite databases?
By @mooktakim - 3 months
You opted for a fancy website rather than actually explaining what it is.
By @ec109685 - 3 months
How does this compare with Cloudflare’s new offering SQLite it durable objects: https://blog.cloudflare.com/sqlite-in-durable-objects
By @rmbyrro - 3 months
From what I could understand of their architecture [1], you may lose data when the machine running DO fails.

DO implements a very comprehensive strategy to mitigate data loss in DO backed by SQLite. But Starbase seems to add a layer of query caching on the application level, which seems to be naively implemented (I might be misunderstanding, please correct if I'm wrong).

[1] https://starbasedb.com/blog/developing-acid-transaction-supp...

By @_hyn3 - 3 months
This is pretty cool. Great artwork too. Building edge DBs on top of S3 or R2 had interested me for a long time. Thanks for writing it!

Update: bug in redirection: https://starbasedb.com/blog/blog/blog/blog/blog/blog/develop...

By @sgammon - 3 months
This is awesome. We’ve adopted a similar architecture with DO. Does it do data sync across devices? Offline first? Or is it all online thru DO and D1?
By @irq-1 - 3 months
Cloudflare recently updated this:

Zero-latency SQLite storage in every Durable Object

https://blog.cloudflare.com/sqlite-in-durable-objects/

By @jitl - 3 months
What is the difference between this and Cloudflare’s first party D1 database offering? https://developers.cloudflare.com/d1/

D1 is SQLite

By @dorianjp - 3 months
Really glad Kenton chimed in there, as it wasn't clear in the docs and I was about to implement a similar pseudo transaction pattern as this.

Pretty excited about this tech, it really flips the script on the concept of a DB per user / sharding approach which used to be costly at the schema/physical db level.

By @shivawu - 3 months
Am I right to say that this is a template on top of cloudflare durable objects, not an actual software of its own?
By @rmbyrro - 3 months
This is very appealing. If the authors are reading:

What is the architecture overview? Does each worker have a copy or do all of them work on the same DB files? How does it handle concurrent workers and db locking? Is SQLite native locking mechanism sufficient in this application?

By @aliasxneo - 3 months
It appears the blog links are broken. Are those also supposed to function as the documentation?
By @pixelatedindex - 3 months
I find the website design to be quite charming. Actually evokes some of the Outer World game vibes.
By @wslh - 3 months
ELI5: Does "Open source, scale-to-zero, HTTP SQLite database built on top of Cloudflare Durable Objects" mean that you should pay and/or use Cloudflare for this? Or CDOs are generally available outside Cloudflare?
By @Onavo - 3 months
By @MPSimmons - 3 months
Does stuff like this still have database-level locking? If so, how does that scale at all?
By @bythreads - 3 months
May I just say; hell yeah on the brand identity! - finally someone has the guts to actually have an identity instead og pastel based standard b2b shit.

Last time I saw that was zendesk with their Buddha's and weird tonal audio devices.

Edited for corrected semi-colon because I'm haunted by a grammar-nazi.

By @revskill - 3 months
I love the website design than the product.
By @robertclaus - 3 months
`Isolation. Due to the nature of our queue and query executions, everything is synchronous by nature so no two queries can be ran concurrently making them run in an isolated nature by default. Check.`

I'm not sure if I misunderstood something, but using a global queue/lock to enforce isolation properties seems to be just a little disingenuous for a dbms. It works, but it's odd to talk about isolation in a system with zero concurrency. It's like saying a bicycle gets infinite miles per gallon in fuel efficiency.

By @solarkraft - 3 months
This has the same name as an Elon Musk project. I can see the point of reusing names (this is a clever spin after all), but I’d expect the association to evoke quite some negative reactions.