Comment by rtpg
1 day ago
> Unless it's a web site that can tolerate no downtime at all during schema updates, SQLite in WAL2 mode is more than enough.
I do think that people really underestimate how quickly a system starts being "please, no downtime" (or its weaker cousin, "please, don't make your ops people do rollouts at 1AM").
Like obviously it's not the end of the world but the default assumption of "the system is up" makes a loooooot of things downstream of that easier.
Having to do operational bug triage on systems that routinely have blips in availability is unfun.
Trying to have so few blips they're invisible to bug tracking is a very expensive level of uptime. It takes a lot of convenience to add up that high, compared to ignoring errors for thirty seconds at noon.
The sort of real thing is that it's not just about no-downtime deploys, but also stuff like rolling back smoothly, general continuous deployment or even just generally being able to easily move between versions.
I still think there are lines (I have to begrudgingly accept that downtime for PG upgrades is still basically worth it because the effort to not downtime there is so high but the frequency is so low), and it's a spectrum. But I've found that this particular flavor of tech debt tends to hurt quite a lot even with fairly low activity systems
I don't think "we restart it to update" counts as debt. It's choosing not to add complicated systems in exchange for uptime.