SQLite is one of those things that I hear people on hear advocating a lot but have never personally encountered anyone using other than embedded iOS/Android work. I’m talking businesses with 8 or 9 digit revenue, not side projects with 1000 users. I’m talking about teams in the hundreds of developers, not single person projects. I’m talking many services as dependencies, not just one. I’m talking extensive and robust redundancy, monitoring and observability. The list goes on.
There’s a reason for that.
- single writer even with WAL
- missing plenty of alter table functions
Those alone discount it for serious work. Yes, there are workarounds, but why workaround when you can work with Postgres or others that don’t require all of the hassle?
What’s amusing as well as the zealotry around it too. People getting worked up about pointing out obvious flaws. Sad. When did tech become religion?
FWIW SQLite is great for embedded applications, and it’s where it belongs.
… anyone using other than embedded iOS/Android work. I’m talking businesses with 8 or 9 digit revenue…
The use case and revenue doesn’t have to be contradictory, I guess? What do you mean by “serious work”? iOS and macOS and their bundled apps use SQLite in a lot of places and Apple generated, idk, at least 9 digits in revenue last year. It sounds like you expect SQLite to excel in all use cases including high concurrency/resiliency web services where traditional heavyweight DBMSes like MySQL and PostgreSQL typically stand out, but that’s far from the truth. The authors of SQLite clearly carve out when you should use it (https://www.sqlite.org/whentouse.html) and it’s clearly succeeding in what it’s good at.
Lots of people use sqlite or derivatives of it lol. If it wasn't we wouldnt have stuff like pocketbase, rqlite and other derivatives that build on top of sqlite.
The thing with sqlite is that no one sees a need to "advertise" that they are using sqlite... it just works not fancy, (there are fancy things build on sqlite like rqlite, dqlite, litestream etc) but for the base sqlite at the end of the day its a quick file based db that just handles itself well.
Ok, HN loves the "digits" stuff. To be clear, "9 digits" can mean: 100,000,000 all the way up to one billion minus one. BIG difference. Let's assume 100,000,000 for now. Also: No currency mentioned. Indonesian rupiah? Euro? Japanese yen? It makes a big difference.
> I’m talking about teams in the hundreds of developers
What project in the 2020s needs "hundreds of developers" (again: that implies 200+) and only generates maximum of 100M revenue? This sounds like an awful business of: it cost 200M to build, but only makes 100M revenue.
Comments
SQLite is one of those things that I hear people on hear advocating a lot but have never personally encountered anyone using other than embedded iOS/Android work. I’m talking businesses with 8 or 9 digit revenue, not side projects with 1000 users. I’m talking about teams in the hundreds of developers, not single person projects. I’m talking many services as dependencies, not just one. I’m talking extensive and robust redundancy, monitoring and observability. The list goes on.
There’s a reason for that.
- single writer even with WAL
- missing plenty of alter table functions
Those alone discount it for serious work. Yes, there are workarounds, but why workaround when you can work with Postgres or others that don’t require all of the hassle?
What’s amusing as well as the zealotry around it too. People getting worked up about pointing out obvious flaws. Sad. When did tech become religion?
FWIW SQLite is great for embedded applications, and it’s where it belongs.
The reason is you're not talking to the right people? It's not just talk, loads of us are using it for all sorts of interesting things.
Thank you for making SQLite such a delightful way to share research through datasette.
Thank you for sharing your projects with the world. I'll leave this here as a hint to the parent commenter:
https://simonwillison.net/tags/dogsheep/
The use case and revenue doesn’t have to be contradictory, I guess? What do you mean by “serious work”? iOS and macOS and their bundled apps use SQLite in a lot of places and Apple generated, idk, at least 9 digits in revenue last year. It sounds like you expect SQLite to excel in all use cases including high concurrency/resiliency web services where traditional heavyweight DBMSes like MySQL and PostgreSQL typically stand out, but that’s far from the truth. The authors of SQLite clearly carve out when you should use it (https://www.sqlite.org/whentouse.html) and it’s clearly succeeding in what it’s good at.
With that said, lots of big firms successfully use SQLite in desktop and web offerings as well: https://www.sqlite.org/famous.html
My sqlite-utils Python library and CLI tool includes a fix for the lack of advanced alter table:
- https://sqlite-utils.datasette.io/en/stable/cli.html#transfo...
Lots of people use sqlite or derivatives of it lol. If it wasn't we wouldnt have stuff like pocketbase, rqlite and other derivatives that build on top of sqlite.
The thing with sqlite is that no one sees a need to "advertise" that they are using sqlite... it just works not fancy, (there are fancy things build on sqlite like rqlite, dqlite, litestream etc) but for the base sqlite at the end of the day its a quick file based db that just handles itself well.
AWS uses SQLite to manage EBS volume metadata. I remember reading about this some time back but can't seem to find the article now.
First this:
Ok, HN loves the "digits" stuff. To be clear, "9 digits" can mean: 100,000,000 all the way up to one billion minus one. BIG difference. Let's assume 100,000,000 for now. Also: No currency mentioned. Indonesian rupiah? Euro? Japanese yen? It makes a big difference. What project in the 2020s needs "hundreds of developers" (again: that implies 200+) and only generates maximum of 100M revenue? This sounds like an awful business of: it cost 200M to build, but only makes 100M revenue.