----- Original Message -----
> From: "Ian" <mys...@fishnet.co.uk>
> 
> 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

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Reply via email to