On Tue, Apr 19, 2005 at 01:20:35PM -0500, Kurt Welgehausen wrote:
> SQLite is not a client-server database.

Yup. I realize that.
 
> In the worst case, when you query a database file over NFS, all the tables in
> your query are sent over the network to be processed on your cpu; so if you
> want to select one row from a table of a million rows, the million rows are
> retrieved over the network (in the worst case).

Which is where presumably SQLite's page caching would come in... At least for
subsequent queries on the same table.

> You may want to consider a client-server database for this reason and also
> because there have been reports that locking does not work reliably on some
> implementations of NFS -- so you could be risking a corrupted db file if you
> have multiple users.

We definitely do NOT want a client-server database. As I noted, SQLite is being
used to store, in effect, an application's "save files". The fact that SQLite
stores its databases as a single, user movable, file is one of the key features
that makes it of interest to us.

Multiple users will also be a rarity (if it EVER occurs). What SQLite is giving
us is the ability to mainpulate a large (gigabyte sized) file containing
complex structures, without having to do all the "dirty work" (indexing,
endian-ness translation, caching, etc.) ourselves.

> I think this has been discussed on the list. You could try a search of the
> archive:
> 
>     <http://www.mail-archive.com/[email protected]/>

I did. Almost all of the posts seemed to relate to the correctness of the NFS
locking and how it could be improved. I really don't care so much about correct
locking for our application. I'm more worried about the performance.

-- William Hachfeld

Reply via email to