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.
SQLite is some of the most battle tested software in the world. Turso seems like relatively new software that is still a bit experimental.
You do not want your databases to be new or trendy. You want your databases to be solid as a rock.
well, Turso adds features
otherwise yeah, there'd be no reason
I still find it absolutely freakish & abominable that people are so incredibly touchy & reflexively mean & vile to Turso. I've seen a couple Turso centric YouTube's recently and there are dozens and dozens of up votes for what just seems like the most petulant vacuous reflexive bitter viewed comments, dominating the comments. Sqlite deserves its honor, is amazing! Yes! But there's such a wild concentration of negativity about a sqlite compliant open source rust rewrite. None of it is technical. It's all just this extreme conservatism, this reflexive no, I don't trust it, fud fud fud fud.
(Can't find the worse example but https://youtu.be/CrIkUwo8FiY somewhat shows this)
I'm just so embarrassed having such low antagonistic peers dominating the conversation all the time. With zero moderation, zero maybe it's ok, just dialed 100% to no no no no. For fuck sake man. Everywhere I go it's not hackers, it's not possibility seekers, it's a radical alliance of people using fear uncertainty and doubt to cling to some past, refusing even possibility of different. It's so regular, so consistent, so tiresome and so useless.
What if this is better? What if you are wrong? What if there is some possibility of better? It just feels like all the air time is sucked up by these negative creeps, always, everywhere, all around, with these absurd vast pervading pessimisms that admit to no maybe possiblies, that see no tradeoffs, that are just convinced always for the worst. And it's just so popular! Is the plurality! How anti-hackerly a spirit is anti-possibility! The world deserves better than these endless drag-gards.
I'm obviously reacting strongly here. But I just want some God damned room left for maybe. The negative creeps never allow that: no no no no no, fear uncertainty & doubt endless & abundant, no possibility, just bad. I cannot stand the negative energy, I'm so sad the hackers have to put up with such absolutist shitty drains sucking all the energy from the room, everywhere, always. Sqlite somehow has such a strong anti-possibility anti-energy magnet around something so so good: what a shame, it deserves better, & iteration attempts deserve at least some excitement. Progress is possible, can be neat, and judging way too early & reflexively with empty comment is to be condemned, imho.
Reading the repo, I'm not sure what it offers. It's still CGO for Go (edit: it's not, it's purego, but can that be used for SQLite too?), Rust already has `rusqlite`. It's beta, so it doesn't have stability, and 99% of why I and many other people choose SQLite is stability.
But they bluntly say you should use it instead of SQLite: "The next evolution of SQLite" (trademark ok?). This not only implies that SQLite has some significant design issues that merit a new version, but it also implies that they, not the SQLite author, are the ones who are capable of doing this. My guess is this is what's rubbing so many people the wrong way.
It's not being sold on its merits, and I think if they're going to make that sort of statement it's fair to make the standard somewhat high. If it's an AI-oriented database, sell it that way, not as an SQLite replacement.
I don't think uv had a negative reaction, because it had a really compelling case.
If it was actually better you would probably be describing how and why you think its better instead of complaining about "negativity".
The discussion didn't seem to be about merits. It just simply seemed to be a bunch of pissy empty whining & loser statements that it wasn't even worth beginning to regard it at all, for dumb petulant reasons x y and z. Fuck that. Fine, I'm happy to sing some praises. But IMO there is a war against imagination & this loserly attitude is the omni present all pervading no value woeful forefront. This pox is everywhere, just no regard, no consideration at all, just out of hand disregard for ridiculous inconsiderate Fear Uncertainty and Doubt anti-reason, thought terminating no's.
Murderers of hacker spirit. Sure, come ask for better! Yes!! Please!!! Inquire & challenge. Push for actual meat (both ways). I saw none, I tried to give you some here. These empty vessels have just vapors of fear, boogiemen to conjure & scare with. No actual content or assessment. So weird to rally so hard against open source, just because it doesn't also hail from 2.5 decades ago. We need more than reflexivism. Or we are shite non hacker people of a low culture.
I complain about negativity because this is rotten & a stink. It's everywhere & so rarely is it of substance, talks to anything. I've tried to add some weight here, and most of what I've said feels basic but this gets bold: I think the weight of anti-possibility weighs heavier & has a bigger mantle to bear in its naysaying than speaking for. We should attune ourselves to consideration. The hacker spirit should favor the idea of possibility above rejection & discarding of potential.
Lol, is that a joke.
Seesh.
[To be clear, i think sqlite is the hands down winner on this front, no contest. Does the Turso test suite qualify it to be used in safety critical applications? I don't think so].
To your other points - look if it works for you i'm not here to tell you you can't use it. However these features sound more trendy than useful. To me these sound like negatives. A bunch of extra features not related to being a relational database suggests they aren't concentrating on the core product. I dont know enough about their model for async & concurrent writes to really evaluate the cost/benefit, but both those features sound potentially really scary and of questionable value.
At the end of the day its just not a compelling pitch. It seems like trading reliability and stability for a bunch of meaningless bling.
Best of luck to them, but at this point yeah, sqlite sounds like a much better option to me.
How can we make sure that fundamental pieces of open source software that power the Internet can have funding, and that the people who write them can have comfortable lives working on the piece of software they love that so many people use?
I think you've described a real problem. But people turn to VC because there are few other ways to make funding happen.
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
That marketing is really the one thing that keeps me from considering this as a serious option.
To callback to an article a few days ago, it's a signal of dishonest intent [1], and why in the world would I use the alternative built by apparently dishonest people when sqlite is right there and has one of the best track records in the industry.
[1] https://zanlib.dev/blog/reliable-signals-of-honest-intent/
> First of all, love the Lord God with your whole heart, your whole soul, and your whole strength
In comparison, this has no guiding moral backbone. Who knows what they could do.
> May you do good and not evil.
> May you find forgiveness for yourself and forgive others.
> May you share freely, never taking more than you give.
The tenants my comment-neighbour quoted are a much better example.
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.
I'm surprised they didn't have any extreme tests with a lot of data that would've found this earlier. Though achieving the reliability and test coverage of sqlite is a tough task. Does make the beta label very appropriate.
It feels like it has a lot of the same downsides of hosted databases so I'm not sure what the specific value is.
From their site they really emphasize local first syncing (so mobile apps and electron/tauri apps) and multi tenancy (hard database boundaries)
I get it, Turso wants to actually make some money, but I just don't get it.
Certainly some of the newer succesful database companies are written in more modern languages (for example go with cockroachdb, go originally and now rust with influxdb) but it's wrong to call these (or really any language) faster than C/C++ just more productive languages to develop reliable software in...
Granted, scylla used to be open source. And turso is VC funded and potentially vulnerable to a license change in the future.
Would be great if one of the Turso developers can clarify :)
- sqlite can't do concurrent writes, which is a performance bottleneck for certain workflows
- sqlite is synchronous, which isn't ideal in applications that are async
- while sqlite itself is open source, the test suite is proprietary, which means forking it and adding your own features or bug fixes isn't really practical. Of course, that is also a significant barrier to turso having sqlite compatibility.
Does turso really solve those problems? IDK. Does it introduce new problems? Almost certainly. But those are real problems that people have.
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!
Being written in Rust it's not even a good libc-less drop in choice for a language like Go?
[0]: https://turso.tech/blog/beyond-the-single-writer-limitation-...
The reason SQLite's BEGIN CONCURRENT does not greatly increase concurrency (unless you're very careful with your schema and queries) is as much due to page level conflict detection as it is because it enforces serializable isolation.
Claude is that's for sure