On Sun, Apr 23, 2006 at 07:30:21AM +1000, John Stanton wrote:
> I have actually done that and it works well for a particular class of 
> applications, ones with a relatively small number of simultaneous users. 
>  For large numbers we switch to PostgreSQL  The basic architecture of 
> Sqlite, and why it is "Lite", is that it uses a single file and file 
> locks for synchronization.  That is very well adapted to myriads of 
> applications, but does not make it a competitor to DB2, Oracle or 
> PostgreSQL in the enterprise area.  The single file makes it a dream to 
> maintain, but there is a price involved for that simplicity.
> 
> Dr Hipp put it succinctly when he pointed out that Sqlite is a 
> replacement for fopen(), not Oracle.
> 
> In our server we do not rely on the file locks in Sqlite but instead 
> serialize the transactions using the mutex/condition/event capabilities 
> which become available in such a framework.
> 
> As for your idea of pluggable storage methods, I consider that a better 
> approach for an embedded tool like Sqlite is to embed the other 
> functionality alongside it.  Both would be linked into the specific 
> application.  For example the people who are eager to have more BLOB 
> features could do well to have a second file which just stores BLOBs in 
> their chosen style and links to Sqlite via a key.

On a semi-related note, Sean Chittenden (of FreeBSD fame) created an API
from PostgreSQL into memcached
(http://pgfoundry.org/projects/pgmemcache/), mainly to allow the
database to invalidate objects from memcached that had been updated. I
think it would be very interesting to see something similar that would
allow using SQLite from within PostgreSQL, since there's a few
applications that are difficult to get good performance out of with
PostgreSQL. Website session tables that are constantly updated are one
example.
-- 
Jim C. Nasby, Sr. Engineering Consultant      [EMAIL PROTECTED]
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

Reply via email to