From: Rick James Date: October 27 2011 8:51pm Subject: Re: Master-Master -> duplicate entry List-Archive: http://lists.mysql.com/replication/2263 Message-Id: <4EA9C465.70105@yahoo-inc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit The potential flaw in semi-sync is that it acks once the data gets to the relay log; it does not wait for the write to be applied to the table. Granted, it would take two serious crashes to cause loss of a write. On 10/27/11 11:21 AM, Marcus Bointon wrote: > On 27 Oct 2011, at 19:56, Rick James wrote: > >> Synchronous replication has a serious limitation -- >> If the second master exists for HA, and the building with both masters is hit by a tornado, earthquake, flood, etc, then dual-master did not help. >> If you move the other master to a remote location, then the delays to do the sync could be unacceptable. > I think this is the target of semi-sync. You replicate to multiple slaves, but accept a quorum of confirmed sync responses (say 3 out of 5). This way you're not going to hang up if a remote server dies. You can vary the consistency level on a per-query basis - e.g. you might insist on 5/5 for critical schema changes. Cassandra is built on this design, for both reads and writes. > > I've not tried using it in MySQL yet, but it's there in 5.5: http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html > > Marcus -- Rick James - MySQL Geek