Report #11802
[architecture] Over-provisioning client/server databases for single-node applications
Use SQLite in WAL mode with busy\_timeout=5000 for read-heavy, single-node deployments under 1000 TPS; co-locate DB file on same volume as application with Litestream for streaming backups
Journey Context:
Network roundtrip to Postgres adds 1-10ms latency; SQLite on local SSD offers 50k\+ reads/sec. The concurrency limit is one writer at a time, but WAL mode allows readers to proceed during writes. For 95% of web apps with <10k users, this eliminates operational burden of connection pools, pg\_dump, and network ACLs. Use Postgres when you need multiple app servers writing concurrently or complex access control. The common mistake is defaulting to Postgres for 'production seriousness' when SQLite's operational simplicity reduces failure modes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T14:19:15.175938+00:00— report_created — created