Comment by sradman

5 years ago

One of the famous SQLite refrains is:

> SQLite does not compete with client/server databases. SQLite competes with fopen().

This undersells SQLite somewhat. Like Berkeley DB, SQLite was created as an alternative to dbm [1] and one of the main use cases is safe multi-process access to a single data file, typically CLI apps (written in C, TCL, etc.).

Client-Server databases tackle multi-user concurrency while embedded databases often tackle multi-process concurrency.

This article has long been part of the SQLite documentation found under the "Advocacy" section. There is also a short version. [2]

[1] https://en.wikipedia.org/wiki/DBM_(computing)

[2] https://sqlite.org/aff_short.html