Brayden / starbasedb

HTTP SQLite scale-to-zero database on the edge built on Cloudflare Durable Objects.
https://starbasedb.com
GNU Affero General Public License v3.0
729 stars 17 forks source link

Support the Hrana protocol #28

Open Ehesp opened 4 weeks ago

Ehesp commented 4 weeks ago

Is your feature request related to a problem? Please describe.

The hrana protocol specification is a standard protocol which allows communication over a network to an SQLite DB. It's developed by Turso for their own platform solution.

Describe the solution you'd like

It'd be great to explore whether this spec fits into the DO SQLite model, as some tools out there such as ORMs are developed again this spec for communication.

Describe alternatives you've considered

N/A

Additional context

notrab commented 4 weeks ago

@Ehesp @Brayden This got me thinking that there could be an opportunity to formalise a "standard" for SQLite over HTTP that we all contribute to. Having a standard that vendors can follow gives more control to developers without forcing vendor lock-in.

It could be even something as high level like the GraphQL spec which doesn't even mention the transfer protocol.

Wdyt?

Ehesp commented 4 weeks ago

opportunity to formalise a "standard" for SQLite over HTTP

Isn't this exactly the Hrana spec? For example using https://github.com/libsql/hrana-client-ts in TS adheres to it. I think what your suggesting is that it might be a little too "low level" than say the GQL spec

notrab commented 4 weeks ago

opportunity to formalise a "standard" for SQLite over HTTP

Isn't this exactly the Hrana spec? For example using https://github.com/libsql/hrana-client-ts in TS adheres to it. I think what your suggesting is that it might be a little too "low level" than say the GQL spec

For sure yeah, but what I was suggesting is actually more abstract. What you linked to almost would be a reference implementation.

I've been told there's an effort in the industry to push something more formal for SQL over HTTP, so that's probably better.

Disregard my suggestion heh 😃