BerkeleyDB docs suggest the way to go is "a thin client side replication layer", but I don't think that's the best route because it's not 'master-master'.
Dovecot has a 'dsync' module, it's a 'master-master' answer. If citadel could add that, then this equation would be true for groups 500 and down:
Citadel = PostFix + Mysql + DoveCot + RoundCube
Since each 'master' would have a list of all the others, index collision avoidance could just increment by the count of replication systems+ offset of the current system in the list. Maybe the implementation would be circular, sys1 updates sys2 updates sysX .... updates sys1.
