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