On Mar 25, 2005, at 3:20 PM, Kervin L. Pierre wrote:
Hello,
I've been pulling my hair out over concurrency problems with SQLite 3. SQLITE_BUSY, SQLITE_SCHEMA, SQLITE_MISUSE, I get them all. ... Basically it should be something of a 'mini-cookbook' still approach at SQLite 3 concurrency.
Hi,
we have develop an SQLiteServer on top of sqlite3 (and sqlite2) database engine.
Our requirements was robustness and a reasonable fast solution to be able to serve a large amount of concurrent connections.
The server is entirely written in ANSI C and it doesn't use the internal sqlite lock callback routines, instead it adds a priority queue layer that ensure that all the concurrent connections are served with a FIFO algorithm (please note that we enable many readers to access simultaneously the database).
The server is available for MacOSX, Windows and Linux, it is about 500KB in size and for common usage, many readers and some writers seems to works very well.
We have stress tested our server with 100 concurrent writers and 100 concurrent readers without any particular issue (note that the last clients needs to wait a not negligible amount of time in order to complete their operations, sometimes around few seconds).
The server will be available in few days, when we'll finish our new web site.
Don't know if my mail can help you but my advice is to create a custom solution if you really need to have many simultaneous accesses to your sqlite database.
Regards, Marco Bambini SQLabs.net