First of all, SQLite is an amazing product.  My hat's off to the
developer(s) and supporters.  I wish I would have found this years earlier.

I was told that this list would be the best place to ask my questions, so
here goes:

I will be using SQLite this for a server full of multiple user features
such as addressbooks, signatures, settings etc.  Since each access will be
brief and the db itself will not remain open, what would be the best
approach when using SQLite? 

For example, let's say there are 1,000 users, each with individual
directories on the server.  Each user has an addressbook located within
each directory. The addressbook database will only be opened when reading
or updating and it will not remain open for any longer than that.  There
may also be repeated opens withing a user session.

Since each addressbook can be divided into groups, I am questioning whether
to go the relational route, and create one database called "AddressBook"
and within that database have 2 tables, Addresses and Groups and relate the
two tables via a Group_ID key.  Basic relational db normalization.  

The second approach is to create a different database for each group.  Each
database will contain only one table, Addresses.  The benefit with this
approach is that there are now several smaller databases.  The con is that
I lose the ease of relational db features by turning this into a
transactional db.

I suppose this comes down to how the db is accessed.  If the entire db is
read from the disk and loaded into memory via direct file->buffer
transfers, then keeping the individual, small db's would be the fastest
method (like a transactional db model).  If, on the other hand, the db is a
memory-mapped file that is only partially read as needed based on the
index, then combining everything into one db/multiple tables (like a
relational db model) would be the best method.

Anyone have real-world experience with something similiar?

Thanks in advance (and sorry for being so long-winded),
Chris


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

Reply via email to