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