logoalt Hacker News

Turso is an in-process SQL database, compatible with SQLite

105 pointsby marklitlast Monday at 11:04 AM62 commentsview on HN

Comments

maxperttoday at 4:22 AM

Disclaimer: I am author of Marmot https://github.com/maxpert/marmot so I will sound extremely bias.

I have been asked multiple times on why I chose SQLite and not Turso. I've always responded people that I don't trust an open-source project once it's backed by a VC firm. I've moved away from Redis to Val-Key for same reason, and we have seen the Redis train-wreck in slow-mo. I hope at no point in future Turso ever ends up in that state, but chances are pretty high. At this point the "compatible with SQLite" has become a marketing term IMO, we all know how easy it is to break compatibility here or SQLite to break compatibility.

show 2 replies
blibbletoday at 2:14 AM

the description as "the next evolution of sqlite" is offensive

D. Richard Hipp has done a universal good for the world by releasing sqlite into the public domain and maintaining it for 25 years

I bet this VC funded knockoff won't see 5

show 3 replies
deauxtoday at 3:58 AM

Didn't have a good experience with them. One day we suddenly started to experience severe latency spikes, lasting for more than a day, causing timeouts. Unrelated to our DB which was small, even happened on trivial queries - a networking thing on their side. Google showed this to have happened before with certain regions of theirs. If you can't offer a certain region in a stable manner as a DB vendor, don't offer it. The whole point of outsourcing DB mangement is to take care of these things.

show 1 reply
d1ltoday at 1:16 AM

I’d imagine there’s an extremely long tail of features and quirks that will take time to iron out even after SQL compatibility is achieved. Looks like it’s still missing some important features like savepoints (!!!), windows and attach database.

I’d be more excited and imagine it would be more marketable if it focused instead on being simply an embedded sql db that allowed multiple writers (for example), or some other use case where SQLite falls short. DuckDB is an example- SQLite but for olap.

show 3 replies
redwoodtoday at 2:54 AM

Is there an example of a company that rewrote something popular in a faster / better language and built a successful business on that? I can think of ScyllaDB and Redpanda but aren't they struggling for the same reasons: not the default, faster horse, costly to maintain, hard to reach escape velocity

show 3 replies
kletontoday at 3:31 AM

A gotcha, if you are expecting compatibility with sqlite. You can't set PRAGMA journal_mode=WAL and expect to be able to read database state from another process. Turso will report exclusive lock

show 1 reply
heytstoday at 4:00 AM

This looks like a solution in search of a problem already solved by SQLite

show 1 reply
loloquwowndueotoday at 12:32 AM

But I thought turso already had an SQLite-compatible thing, libsqlite!

Turns out this is covered in the readme: libsqlite is a fork (so, presumably C) while turso database is a rust rewrite.

Good luck to the friends at Turso!

rednafitoday at 1:01 AM

Turso is sqlite with a server client arch. I use them for stashing my llm usage logs all the time. Pretty neat. Plus I'm rooting for them to rewrite sqlite in Rust.

show 1 reply
feverzsjtoday at 4:43 AM

Without SQLite's full test suit, I don't think it's as safe. Rust may have better memory safety, but that's just part of the issue.

show 1 reply
rpcope1today at 2:49 AM

How many times is this going to get shilled? It shows up at least once a month and the people associated with come in talking like it's almost trivial to "build a better sqlite" or that in essence SQLite3 is "deprecated." Give me a f**ing break.

leosancheztoday at 6:45 AM

No dotnet client ?

pdyctoday at 4:42 AM

what is wasm size? how difficult is it to use in webapp? and does it allows udf's? in sqlite its quite easy to create udf.

kobiepstoday at 3:02 AM

Hopefully anything useful and stable in turso will be ported to sqlite

heliumteratoday at 1:36 AM

Commit history is nuts! These guys are working.

show 2 replies
XorNottoday at 12:34 AM

I'm confused why I would use this when Sqlite exists?

Being written in Rust it's not even a good libc-less drop in choice for a language like Go?

show 3 replies
mergisilast Monday at 11:36 AM

[dead]

doanbactamtoday at 4:43 AM

We switched our main API from Postgres to Turso last month and haven't looked back. The automatic schema migrations are a nice touch, but I wish the documentation on vector embeddings was a bit more robust. It's wild how much of the modern web is moving back to file-based databases. We switched our main API from Postgres to Turso last month and the cold start times are basically zero now. Are there any plans to support vector columns soon, or is that strictly off-roadmap for now?

show 3 replies