SQLite WAL vs Rollback Journal: A Decision Guide
Choose between WAL and rollback journal for SQLite concurrency, durability, and filesystem constraints; includes trade‑off table and validation commands.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Choose between WAL and rollback journal for SQLite concurrency, durability, and filesystem constraints; includes trade‑off table and validation commands.
K3s ships with an embedded SQLite database that removes the need for an external etcd, but the single‑writer lock and lack of replication limit its use to single‑node or low‑write workloads.
Bun’s built‑in <code>bun:sqlite</code> lets you drop PostgreSQL for a single‑file local service. Learn how the synchronous API works, see a 90‑line URL shortener example, and understand trade‑offs like single‑writer limits and blocking calls.
SQLite's default journal mode serializes reads and writes, causing 'database is locked' errors under concurrency. WAL mode fixes this with one pragma — here's how it works and when to avoid it.
Step‑by‑step guide to deploying a highly available K3s control plane using the built‑in SQLite (sqlitedb) datastore, covering bootstrap, verification, failure recovery, and migration to etcd.
WAL mode lets readers and writers work at the same time, but it adds two files, a checkpoint obligation, and a new set of busy errors. Here is how to tell those apart.
Embedded SQLite makes k3s ultra‑lightweight, but write‑heavy workloads and shared storage can hit concurrency limits. Here’s how to evaluate the trade‑off and migrate to external etcd if needed.
A decision guide for enabling SQLite WAL mode: constraints, trade-offs between concurrency and durability, file-system requirements, and a concrete validation harness with crash-recovery testing.
Learn how K3s uses an embedded SQLite database to replace etcd in single-node clusters, reducing resource overhead while maintaining full Kubernetes API functionality.