Report #82104
[architecture] Choosing database for single-node application with moderate write concurrency
Use SQLite with WAL mode \(Write-Ahead Logging\) for applications with <1000 writes/second and single-node deployment; it eliminates network latency, simplifies backups to file copies, and avoids operational overhead of client/server architecture.
Journey Context:
Common misconception: SQLite is only for testing/embedded. In reality, with WAL mode \(available since SQLite 3.7.0\), readers don't block writers and writers don't block readers, achieving concurrency similar to Postgres for many web workloads. Mistake: using default rollback-journal mode in production \(causes 'database is locked' errors\). Alternative: Postgres adds network hop latency \(even localhost TCP\), requires connection pooling \(PgBouncer\), and complex backup strategies \(WAL archiving\). For single-node apps \(most SaaS starts here\), SQLite's operational simplicity wins; you can backup with 'cp', replicate with LiteStream or rqlite if needed later.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T20:24:25.124854+00:00— report_created — created