Boost Your Replication Throughput with Parallel Apply, Prefetch, and Batching
Slave lag is the bane master/slave replication. This talk will explain why slave lag occurs and show you three important ways that Tungsten Replicator can banish it for MySQL slaves. Parallel apply uses multiple threads to execute slave transactions. Prefetch uses parallel threads to read ahead of the slave position and fetch pages that will be needed by the slave. Batching uses CSV files to load row updates in extremely large transactions that bypass SQL completely. We will explain each technique, show you how to use it, and provide performance numbers that illustrate the gain you can expect. We will round the talk out with a discussion of non-Tungsten tools that offer similar benefits. With these techniques in hand, you’ll be well-prepared to attack any replication performance problem.
This talk by Robert Hodges and Stephane Giron was, as expected, very interesting and gave good insight to the audience about how to implement Replicator efficiently. I also think that at the moment, Continuent Replicator is the only production-ready solution that can be used for:
- Parallel replication by schema (or combination of them),
- Multi master one slave solution,
- on process filtering and data processing,
- Oracle to MySQL, and
- MySQL to Oracle.
I enjoyed it. I knew replicator already, but the presentation gave me new ideas and insight that I can use in order to solve some current issues on customer sites. I am particularly interested in the FILTER option. I would love to see how it can really become helpful when it comes to data processing.
Finally, a small note from some time ago: I published a blog post describing a dream about replication. Rob was the only one of the mega-expert in the fields who honored me with an answer and a good explanation of why it could not work at the current state of arts.
My post: https://www.tusacentral.net/joomla/index.php/mysql-blogs/96-a-dream-on-mysql-parallel-replication
Rob’s clear (and really appreciated!) explanation: https://scale-out-blog.blogspot.ca/2011/03/parallel-replication-using-shards-is.html