Funding Cyrus High Availability
david.lang at digitalinsight.com
Fri Sep 17 17:24:48 EDT 2004
On Fri, 17 Sep 2004 szii at sziisoft.com 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.
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
More information about the Info-cyrus