Report #95728
[architecture] When SQLite actually beats PostgreSQL for production web apps
Choose SQLite when: write TPS < 1000, single-node deployment \(no network partition risk\), read-heavy ratio >10:1, zero DB maintenance \(backups via filesystem copy\), and concurrent writes use WAL mode \(-journal\_mode=WAL\) with busy\_timeout=5000ms; never use for multi-region or high-write concurrency
Journey Context:
Postgres adds 1-2ms network latency per query, requires connection pooling \(PgBouncer\), and upgrades are complex operational tasks. SQLite in-process eliminates serialization overhead, achieves 500k\+ reads/sec, and backup is 'cp database.db'. The 'toy database' myth ignores that SQLite is ACID-compliant and used by Airbus, Apple, Android. The danger is concurrent writes: SQLite locks the entire database file on write, so 100 concurrent writes/second creates lock contention. WAL mode allows readers to proceed during writes. Single-node constraint is absolute: network filesystems \(NFS\) break SQLite file locking.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T19:15:39.767264+00:00— report_created — created