Funding Cyrus High Availability

David Lang david.lang at
Fri Sep 17 17:24:48 EDT 2004

On Fri, 17 Sep 2004 szii at wrote:

> My biggest question here is, simply, why recreate what's already
> out there?
> There are a number of projects (LVM, PVFS) which do this kind of
> replication/distribution/virtulization for filesystems.
> There are a number of databases which have active/active clustering
> (mysql, DB2, Oracle, et al) and master/slave.
> Personally, I would LOVE to see a full RDBMS-backed system.  You
> define your database(s) in the config file ... and that is all.
> All configuration options are stored on the central RDBMS.  All
> mailboxes are stored there.  You can then rely 100% on the RDBMS
> systems for clustering/failover/scalability/backing up ... all
> datastorage domain problems which they have already addressed/solved.
> The other advantages would be very nice integration with other
> applications which can query against databases. (ex: postfix directly
> supports mysql lookups.)
> But then, I can't afford to really help with this myself so take
> my thoughts with a big "hope" pill.  =D

Mike, one of the problems with this is that different databases have 
different interfaces and capabilities.

if you design it to work on Oracle then if you try to make it work on 
MySQL there are going to be quite a few things you need to change.

if you start on MySQL and then port to Oracle then you either ignore a 
large chunk of Oracle functionality that you could use or you end up 
having to re-write a bunch of stuff to take advantage of it.

I also would love this option (I would choose postgres as the back-end) 
but this is significantly more complicated then a master->slave 
replication modification to Cyrus.

As such it would cost more to get written and you would have fewer people 
willing to pay for any particular version.

another issue in all this is the maintainance of the resulting code. If 
this code can be used in many different situations then more people will 
use it (probably including CMU) and it will be maintained as a side effect 
of any other changes. however if it's tailored towards a very narrow 
situation then only the people who have that particular problem will use 
it and it's likly to have issues with new changes.

David Lang

There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.
  -- C.A.R. Hoare
Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list