On Fri, 17 Sep 2004 [EMAIL PROTECTED] 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.
<SNIP>
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: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to