"SQLite doesn't scale" is a common refrain but that's changed significantly in the last decade with the introduction of the write-ahead log, or WAL.
I wrote on the internals of the WAL and how it's a huge leap over the rollback journal:
@benbjohnson
I really need to read through some of the new material on SQLite you folks are putting out, the innovation is fascinating.
Is it still single threaded? I remember that always being a big limiter to having multiple concurrent clients way back when.
@StabbyCutyou
No, it works great with multiple threads and multiple processes. The SQLite FAQ says that "threads are evil" but they still support them. :)
@hyc_symas
It seems like LMDB could benefit from a WAL in some workloads though. It would reduce write amplification and it gives you more flexibility with reducing fsync() calls without risking corruption. Right?