Cyrus IMAP and MySQL mailboxes (Building load-balancing cluster)

Chaskiel M Grundman cg2v at andrew.cmu.edu
Mon Nov 27 14:10:32 EST 2006


--On Friday, November 24, 2006 08:08:05 AM +0100 Simon Matter 
<simon.matter at invoca.ch> 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





More information about the Info-cyrus mailing list