> if you need high concurrency, multi-node replication, pub/sub capabilities, etc, what is the point of using SQLite in the first place
SqliteCloud is capable of all those things, so what exactly is your complaint?
multi-node replication and pub/sub are not part of sqlite code but SqliteCloud additions and I see no reason why their implementation of replication or pub/sub should be any worse that other implementations
Sqlite used to be much worse at high concurrency that other databases but it's no longer the case in recent versions with additions of WAL mode and SqliteCloud claims additional perf improvements for high concurrency
> There are much better, battle-tested tools to solve these problems.
I meant, it's quite possible but I'll point out an obvious fabrication: you don't know.
You haven't actually tried SqliteCloud, you haven't benchmarked it against other tools so you just don't know.
I don't think that article is a good case at all and with the lack of transparent pricing even harder to understand. We all care about efficiency but still not sure why I would use this over existing databases which are cheap to throw some more memory at. As you pointed out below I think CRDT is interesting. I would love to see some real-world comparisons to see how much their efficiency claims actually matter.
I don't like lack of pricing either. It would be a deal breaker for me as far as using their stuff. Maybe that's because they're in beta.
But the actual capabilities of their service - it just sounds like you didn't even care to learn what they offer because there's a lot to like.
First, it's a hosted SQLite. For those who know SQLite and not other databases is a reason enough to use it over hosted Postgres or hosted Mysql
They claim involvement of Richard Hipp, the creator of SQLite. That's as huge boost of credibility right there.
They have multi-node replication with Raft. That's not unique but also not something you get everywhere. Most hosted database services just give you a database on a single server.
They have Pub/Sub - that's even more rare than multi-node replication.
They have offline synch where you can sync your cloud db to a sqlite db on a mobile device. I believe that's both useful to many people and 100% unique to their service.
WebLite is also 100% unique and seems very useful to web frontends.
They claim they'll provide a way to run your code, compiled to wasm, on their servers. That would also be 100% unique to them.
They have SDKs for lots of languages.
So technologically that's very compelling and they have useful features not available anywhere else.
The point is that choosing what appears to be wrong tool for the job and putting a bunch of engineering effort into it makes no sense unless you can demonstrate some special something that makes it all worth it.
Sqlite is very nice and frankly I love using it, but its data types, features, indexes, really everything is just a simplified version of all the of the more enterprise grade databases.
Heck, some of them are even free and open source, run in a container, and (as I said) have decades of bug fixes and solutions to difficult weird replication bugs and performance regressions from their various features they added.
Like with any new solution, its on the people presenting it to proffer why its better, and the marketing spin seems like you get a vendor specific extension to a thing that ties you to them forever, not so great for data that might live for decades!
If your job requires something that SQLite doesn't provide, then sure, that's the wrong tool for the job.
But SQLite is literally the most frequently used database in the world so it clearly is the right tool for a large number of jobs.
It's a very fast and very capable database and the reliability is unmatched (because it has been the most tested and because Richard Hipp wrote more tests than anyone else).
There's this persistent myth that SQLite is some rinky dinky toy for toddlers.
I repeat: it's very fast, very capable database, more than capable of addressing 97% of the needs of people who use sql databases.
What bothers me about this kinds of "SQLite is not the right tool" assertions is a complete lack of any supporting evidence.
Like, give me an example of something that you're doing where Postgres or MySqlite offers meaningful improvement over SQLite.
I'm not saying those cases do not exist, just that they are much rare that people tend to assert and you haven't provided a single example.
Pieter Levels runs highly profitable, highly trafficked website (Nomad List) on sqlite and he doesn't even write joins. And my point is that you vastly overestimate the need for super duper advanced functionality in databases. Lots of apps were written on top of early MySQL, which was a joke in terms of both capabilities and reliability. SQLite today is more capable and reliable that MySQL was for a long time.
I didn't underestimate anything really, I am supposedly an expert in the field.
I have used 100GB+ workloads on sqlite, its great, its useful, and its still extremely limited compared to the featuresets of other mutli-user relational databases.
Oh, and the "and he doesn't even use joins" doesn't really show that sqlite is great at anything, its materially more difficult for a query planner when joins come into play, its the normalization and deduplication benefits (which can play into performance benefits at certain scales) that make a join useful.
> if you need high concurrency, multi-node replication, pub/sub capabilities, etc, what is the point of using SQLite in the first place
SqliteCloud is capable of all those things, so what exactly is your complaint?
multi-node replication and pub/sub are not part of sqlite code but SqliteCloud additions and I see no reason why their implementation of replication or pub/sub should be any worse that other implementations
Sqlite used to be much worse at high concurrency that other databases but it's no longer the case in recent versions with additions of WAL mode and SqliteCloud claims additional perf improvements for high concurrency
> There are much better, battle-tested tools to solve these problems.
I meant, it's quite possible but I'll point out an obvious fabrication: you don't know.
You haven't actually tried SqliteCloud, you haven't benchmarked it against other tools so you just don't know.
I'm 97.8% sure of that.