From: Johan De Meersman Date: April 3 2012 10:26am Subject: Re: HA & Scalability w MySQL + SAN + VMWare: Architecture Suggestion Wanted List-Archive: http://lists.mysql.com/mysql/227100 Message-Id: <0387e966-a8fd-4a0b-a35e-597902d2ba7d@zimbra> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit ----- Original Message ----- > From: "Ian" > > with each master having any number of slaves. Set MySQL Proxy to > send writes to the masters and reads to the slaves. Yes, except when you have replication delays (asynchronous, remember?) like someone else recently posted, your application writes a value, and consequently can't find it again. Boom goes the software :-) I'm sure proxy has it's uses, but I remain extremely sceptical about both performance and trustworthyness of the read/write splitting scheme as long as the application isn't aware of it. Now, if you could somehow cough up a *context*, say, by having proxy pass all requests from a connection that has done a write to the master, that would help, but... * it would yield less scaling - master must again serve some selects * with replication delays, you still risk updating the master based off old data from a not-up-to-date slave * in a web context, connections are not permanent; to keep track of a single stream you'd need the proxy to be aware of something like a browser session or whatnot No, if you *really* want to do horizontal scaling, have a look at SchoonerSQL, Clustrix and the like. They're third-party, but they (claim to) have proper multimaster replication. I've not actually looked at any of them in depth myself - we're in an environment where we have a lot of smaller clusters. -- Bier met grenadyn Is als mosterd by den wyn Sy die't drinkt, is eene kwezel Hy die't drinkt, is ras een ezel