Semi-sync replication enables you to prevent your master from finishing replication until a replica confirms that it has received all the changes. Thus adding an extra guarantee that at least one other machine has copies of the data.

  

This addresses the problem of a combination of lagging replication and network issues resulting in data loss. With semi-sync replication, even if you have network issues you shouldn’t lose your data.


Please do note that when using semi-sync replication you will have to wait for your data to flow from the master to the replica and then get a confirmation back to the master. Thus each transaction may take longer. The length of time depends on how close network wise the replica is to the master.