Over a million developers have joined DZone.

MySQL Multi-master Replication

· Performance Zone

Evolve your approach to Application Performance Monitoring by adopting five best practices that are outlined and explored in this e-book, brought to you in partnership with BMC.

Why multi-master replication?

Master-slave configuration is a great solution when your system is read-bound. But what happens if you want to support high write loads while keeping the option to select the data using a single SQL statement?

Multi-master replication is the solution for that. However, there are several methods in the market for that, and when choosing the right method, you should carefully define your needs: a synchronous method or an asynchronous one, row-based or statement-based (traffic between servers) and if time-delayed replication is required (for quick recovery from delete for example).

The Multi-master Replication Options

I just kicked off the first Israeli MySQL User Group in association with Wix this week, and I wanted to share with you Michael Naumov's presentation from our first event. 

In his talk, Michael presented four methods to support multi-master replication: MySQL 5.6 Native, NDB, Tungsten and Galera.

Bottom Line
Careful selection of the right MySQL multi-master replication can save you production issues and can boost your system. Now all that's left is to define what is needed and what the matching solution is for that.

Keep Performing,
Moshe Kaplan

Learn tips and best practices for optimizing your capacity management strategy with the Market Guide for Capacity Management, brought to you in partnership with BMC.


Published at DZone with permission of Moshe Kaplan, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}