in reply to Re^4: Where to put an application database?
in thread Where to put an application database?

OUCH!

Yeah.

As its creator, Richard Hipp, talking at PGcon 2014, said:

SQLite is not a replacement for PostgreSQL. SQLite is a replacement for fopen().  [2]

The SQLite docs contain a page called "Appropriate Uses for SQLite" [1], which says:

SQLite supports an unlimited number of simultaneous readers, but it will only allow one writer at any instant in time. For many situations, this is not a problem. Each application does its database work quickly and moves on, and no lock lasts for more than a few dozen milliseconds. But there are some applications that require more concurrency, and those applications may need to seek a different solution.

Wonderful tool as SQLite is: when compared with full-fledged RDBMS's it has some pretty heavy limitations. It's best thought of as a 1-person database (and the possibility for embeddedness is of course enormously useful (browsers, phones)).

[1] http://sqlite.org/whentouse.html

[2] Hipp's keynote at PGcon 2014

[2] youtube version of Hipp's talk