Glench
Joined 14 years ago
Joined 14 years ago
The above article was what convinced me to use SQLite in my new business. 5 years later, serving 120+ million requests per month and still working great. To be fair, most of those requests are served out of redis, but I’m still running off of cheap digital ocean droplets.
Haha yes I just saw a youtube video last night of a personal account that said something that seemed to directly contradict what the author of this post learned ("static stretches don't work" whereas this author is saying they worked for him).
I feel like for these kinds of cases where there is contradictory information that it is better to rely on direct experience in my own body rather than just scientific information about what's supposed to work. Use mindful awareness to feel directly what's happening in the muscles and tissues and how it changes over time using the different types of techniques. Then I don't really need to believe anything anyone says. The downside of this approach is that we may miss out on important information if we're ONLY relying on direct experience. But direct experience should be the foundation in my opinion.
And of course with iteration and feedback loops people can definitely learn how to specify what they want in a fairly precise way.
Also, there doesn't seem to be an appreciation of the speed at which we need to stop emissions to meet 1.5C or even 2C of warming. It's at the point where if we don't replace almost every car, furnace, stove, etc with its electric counterpart and power them with clean electricity (due to the continuous emissions of those machines for their lifetime, assuming no early retirement), we can guarantee breaching the 1.5C limit. We need a World War 2 level buy-in from government, industry, and consumers. I wish this was more widely known.
I was convinced that SQLite could be a viable db option from this great post about it called Consider SQLite: https://blog.wesleyac.com/posts/consider-sqlite
Using SQLite with Litestream helped me to launch the site quickly without having to pay for or configure/manage a db server, especially when I didn't know if the site would make any money and didn't have any personal experience with running production databases. Litestream streams to blackblaze b2 for literally $0 per month which is great. I already had a backblaze account for personal backups and it was easy to just add b2 storage. I've never had to restore from backup so far.
There's a pleasing operational simplicity in this setup — one $14 DigitalOcean droplet serves my entire app (single-threaded still!) and it's been easy to scale vertically by just upgrading the server to the next tier when I started pushing the limits of a droplet (or doing some obvious SQLite config optimizations). DigitalOcean's "premium" intel and amd droplets use NVMe drives which seem to be especially good with SQLite.
One downside of using SQLite is that there's just not as much community knowledge about using and tuning it for web applications. For example, I'm using it with SvelteKit and there's not much written online about deploying multi-threaded SvelteKit apps with SQLite. Also, not many example configs to learn from. By far the biggest performance improvement I found was turning on memory mapping for SQLite.
That article, along with the ability to have streaming backups with Litestream and not wanting to pay for a separate DB server, inspired me to use SQLite in my SaaS four years ago. I've been enjoying the operational simplicity a lot although there is not a lot of community documentation currently about tuning SQLite for web app loads. My app does about 120m hits a month (mostly cached and not hitting the DB) on a $14/month single-processor DigitalOcean droplet.