Replication in MySQL has been around for a long time, and has
been steadily improving over the years. It has been more like
evolution rather than revolution. This is perfectly
understandable, as replication is an important feature that many
depend on - it has to work.
In the last MySQL versions, we’ve seen improvements in
replication performance through support for applying transactions
in parallel. In MySQL 5.6, parallelization was done on schema
level - all transactions which have been executed in separate
schemas could be executed at once. This was a nice improvement
for those workloads that had multiple schemas on a single server,
and the load was distributed more or less evenly across the
schemas.
In MySQL 5.7, another parallelization method was added, so called
“logical clock”. It allowed to get some level of concurrency on a
slave, even if all your data has been stored in a single schema.
It was based, in short, on …
[Read more]