Neil Aggarwal wrote:
Our goal is to create redundancy. We want either system to be able to work if the other is not available. Designating one database as a write db and the other as a read defeats that.
Depending on the requirements splitting out can greatly improve scalability though, potentially using something like mysql proxy and perhaps even a load balancer.
The write systems can still be clustered/multi-master replication but if the bulk of your work is reads then load balancing many independent databases for reads can improve performance and even improve availability.
But it really depends on the workload.
nate