Howdy all.
I am looking for a MySQL solution that allows us to horizontally scale a
number of MySQL nodes as peers without separating reads and writes, or
slaves and masters. This may not be ideal, but the application we are
using is an unchangeable aspect of the project.
I ran into this post by Giuseppe Maxia
(http://onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html)
that details our concern exactly:
MySQL Cluster... is a complex architecture to achieve high
availability and performance. One of the advantages of MySQL Cluster
is that each node is a peer to the others, whereas in a normal
replicating system you have a master and many slaves, and
applications must be careful to write only to the master...
There are some cases where the MySQL Cluster is the perfect
solution, but for the vast majority, replication is still the best
choice.
Replication, too, has its problems, though:
* There is a fastidious distinction between master and slaves.
Your applications must be replication-aware, so that they will
write on the master and read from the slaves. It would be so
nice to have a replication array where you could use all the
nodes in the same way, and every node could be at the same time
master and slave.
* There is the fail-over problem. When the master fails, it's true
that you have the slaves ready to replace it, but the process of
detecting the failure and acting upon it requires the
administrator's intervention.
Fixing these two misfeatures is exactly the purpose of this article.
Using features introduced in MySQL 5.0 and 5.1, it is possible to
build a replication system where all nodes act as master and slave
at the same time, with a built-in fail-over mechanism.
The article goes on to talk about setting up a Multimaster Replication
System.
At one point, I was lured into using the Multi-Master Replication
Manager for MySQL (MMM) since it was said to be a set of scripts that
made this process easier, but found that like standard replication made
a distinction between masters and slaves, so I'm back to the original
Giuseppe article.
Anyone have experience setting up MySQL Multi-Master Replication? Or is
there a better list to ask this question on?
Wes
--
Wes Modes
Systems Designer, Developer, and Administrator
University Library ITS
University of California, Santa Cruz