Report #8293
[architecture] When to choose SQLite over PostgreSQL for web applications
Use SQLite with WAL \(Write-Ahead Logging\) mode enabled \(PRAGMA journal\_mode=WAL\) for read-heavy, low-to-moderate write concurrency \(<1000 TPS\) applications where all clients can access the same filesystem. Avoid for high write contention, network-accessed databases, or when requiring fine-grained access control.
Journey Context:
Engineers dismiss SQLite as a 'toy' for testing, but in WAL mode, reads don't block writes and it handles 60k\+ read QPS on commodity hardware. The fatal mistake is using default DELETE journal mode in production, which causes 'database is locked' errors under concurrent writes. Tradeoff: operational simplicity and zero network latency vs. horizontal scaling limits and backup complexity \(requires file-system snapshots like Litestream\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T05:11:24.288323+00:00— report_created — created