--On Friday, November 24, 2006 08:08:05 AM +0100 Simon Matter <[EMAIL PROTECTED]> wrote:

 What is really different between
using berkeley or skiplist DB for the cluster? I'm also running without
BDB but I want to understand how berkeley databases are different to
skiplist databases in a cluster situation.


Berkeley DB does interprocess coordination by using mmaping files. One of the things it can put in the mmaped files are locks (either custom test-and-set spinlocks or pthread mutexes). It is not possible for these locks to work correctly across NFS (or even GFS), since changes do not appear instantaneously on all clients/nodes.

skiplists are much simpler data structures, as they are only appended to. as long as file locks and O_APPEND work correctly, skiplists should work correctly



----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to