On Jul 14, 2008, at 9:08 PM, Jens Alfke wrote:

On 14 Jul '08, at 6:05 PM, Steve Steinitz wrote:

I use a little gigabit Thecus Network Drive which is just about as fast as using the internal disk. Humorously, my database currently fits in the Thecus' cache so it runs even faster.

The scalability problem isn't the I/O speed, but the fact that the clients are using filesystem locks for mutual exclusion, and polling the lock for scheduling. Typically if the file is locked the process will wait a few seconds, then try again. As the percentage of busy time of the file increases, the delay to access it gets unacceptably long.

On filesystems that support them properly, SQLite will use byte-range locks which can provide much better performance for this type of situation than full-file locks.

That's part of why it's important that every user of a SQLite database that's on a networked filesystem access it through a compatible mechanism: If the clients use different protocols to access the file, depending on the server implementation, they may not actually share lock state.

This is fundamentally the same as putting a FileMaker or Access database on a file server and having multiple users open it.

  -- Chris


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to