For years, people lamented that MySQL’s replication was single-threaded. Peter, Vadim, and I griped about this in High Performance MySQL for two whole editions, as well as a bunch of blog posts.
The problem with single-threaded replication is that a master server can do lots of work on many cores in parallel, so a single-threaded replica has very little hope of keeping up. Poor guy.
Then one day a couple of years ago, MySQL replication got multi-threading, and not many people have really said much about it since then.
Why not? It’s the bee’s knees! We’ve been using it at VividCortex in production and it works great. Granted our workload is what it’s best at (multi-tenanted, highly sharded, with each tenant in separate databases and/or servers), but this is exactly the use case where you want multi-threaded replication the most anyway.
Many thanks to the replication team for this great feature.