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
|