>  > [U]se the right tool for the job. If you require concurrent
>  > readers/writer(s), then you may be better off using a full blown
>  > client/server database, especially in a distributed
> environment. SQLite is
>  > designed to be embedded, don't just use it because you can.
>  >
>
> Concurrency is not nearly as much an issue in reality
> as it is in many peoples imagination.  Concurrency
> probably is not an issue for a website. If concurrency
> really is an issue, you need a client/server database.
> SQLite does not try to be the solution to every database
> problem - it is primarily an embedded database.

I don't think that concurrency is an unlikely requirement for an embedded
database. Consider an application that uses SQLite for its internal
database, and an external reporting tool like Crystal Reports. Crystal
Reports uses ODBC, so although it may be a single user application, there is
still a need for concurrency because you never know when the user will try
to run a report. If they do it which some other long-running query is
executing in the application then the report fails when one of the queries
times out.

It seems to me that the file based sharing in SQLite is an admission that
concurrency is necessary, it just isn't a very robust solution. Don't get me
wrong here. I think that SQLite is fantastic, and is extremely well designed
and implemented in every respect, except for the support for concurrency.

> SQLite does not try to be the solution to every database problem...

If there was better concurrency supprt in SQLite it seems to me that it
would be the solution to many more database problems than it is today,
without significantly impacting the existing feature set. In fact for most
applications things would probably go faster if the need to carefully use
transactions to avoid the file closing overhead.

I understand that being free, SQLite is at the whim of the people who
actually contribute to the code base. Unfortunately I don't have the
database knowledge to specify a good concurrency solution, but I do have the
skill to implement it, or could pay someone else to implement it.

Regards,

Chris.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to