in reply to SQLite3 use in production
I like sqlite, and I use DBD::SQLite in the code where I use it. It looks like a reasonably current version too (sqlite3.h).
But I would say, no, it's not really ready for concurrent use. I base this opinion off my use of Trac. I love Trac, but if there were only like 8 people on my project, the constant concurrency problems would make me insane.
This site is about perl though, so that's enough blathering from me about it.
UPDATE: Yes, well, I find that sqlite can't deal with concurrency at all. I'm not very familiar with CGI::Application, but I'm reasonably sure that if you wrote a quick little app, say using DBIx::Class or DBIx::Simple or something fun like that... Anyway, an App with two threads that do selects or inserts (or a mix of both) for a few minutes. One of the threads would eventually encounter some fatal error. Now, you could write some kind of loop to try it over again and keep track of what has and hasn't been comitted, ... or you could just use a database that's designed for concurrent use.
I'm assuming Simple and Class don't automatically retry errors. I could be wrong.
-Paul
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: SQLite3 use in production
by Akoya (Scribe) on Jan 29, 2008 at 21:46 UTC |