Report #24161
[architecture] When to choose SQLite over PostgreSQL for microservices
Use SQLite with WAL mode enabled for read-heavy services with <1000 writes/second, single-node deployments, and when you need zero network latency; otherwise use Postgres
Journey Context:
Developers default to Postgres for 'serious' work, paying the network round-trip tax for every query even when the service runs on a single host. SQLite in WAL \(Write-Ahead Logging\) mode allows concurrent reads during writes and achieves 60k\+ read transactions per second on commodity SSDs. The constraint is the single-writer lock: if multiple processes write constantly, you get 'database is locked' errors. For config stores, feature flags, geolocation data, or read-heavy metadata services, SQLite eliminates network partitions, DNS failures, and connection pool exhaustion entirely. The Litestream sidecar pattern makes this production-grade.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T18:57:36.486323+00:00— report_created — created