----- Original Message -----
> From: "Ian" <mysql3@stripped>
>
> 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