On November 6 2024 I presented a talk with the title: “The implementation of MariaDB parallel replication” at a local TeqHub meetup in Copenhagen. In the talk I first presented how MariaDB replication works overall. I then described the central idea of optimistic parallel replication. Finally I described three details of the implementation: transaction scheduling;… Continue reading Talk: The implementation of MariaDB parallel replication
Tag: replication
Starting as Chief Architect Replication with MariaDB Foundation
Here on August 1st, I am joining the MariaDB Foundation in a position as Chief Architect Replication. Who am I? I am a long term MariaDB developer; in fact I was one of the very first to join Monty in starting MariaDB back in 2009 (I think Sanja may have beaten me by a few… Continue reading Starting as Chief Architect Replication with MariaDB Foundation
No application changes needed: 10 times faster slave with MariaDB 10 parallel replication
Parallel replication is in MariaDB 10.0. I did some benchmarks on the code in 10.0.9. The results are quite good! Here is a graph that shows a 10-times improvement when enabling parallel replication: The graph shows the transaction per second as a function of number of slave worker threads, when the slave is executing events… Continue reading No application changes needed: 10 times faster slave with MariaDB 10 parallel replication
Using MASTER_GTID_WAIT() to avoid stale reads from slaves in replication
I have just implemented MASTER_GTID_WAIT() in MariaDB 10.0. This can be used to give a very elegant solution to the problem of stale reads in replication read-scaleout, without incuring the overheads normally associated with synchronous replication techniques. This idea came up recently in a discussion with Stephane Varoqui, and is similar to the concept of… Continue reading Using MASTER_GTID_WAIT() to avoid stale reads from slaves in replication
First steps with MariaDB Global Transaction ID
My previous writings were mostly theoretical, so I wanted to give a more practical example, showing the actual state of the current code. I also wanted to show how I have tried to make the feature fit well into the existing replication features, without requiring the user to enable lots of options or understand lots… Continue reading First steps with MariaDB Global Transaction ID
More on global transaction ID in MariaDB
I got some very good comments/questions on my previous post on MariaDB global transaction ID, from Giuseppe and Robert (of Tungsten fame). I thought a follow-up post would be appropriate to answer and further elaborate on the comments, as the points they raise are very important and interesting. (It also gives me the opportunity to… Continue reading More on global transaction ID in MariaDB
Global transaction ID in MariaDB
The main goal of global transaction ID is to make it easy to promote a new master and switch all slaves over to continue replication from the new master. This is currently harder than it could be, since the current replication position for a slave is specified in coordinates that are specific to the current… Continue reading Global transaction ID in MariaDB
MariaDB replication feature preview released
I am pleased to announce the availability of the MariaDB 5.2 feature preview release. Find the details and download links on the knowledgebase. There has been quite good interest in the replication work I have been doing around MariaDB, and I wanted a way to make it easy for people to use, experiment with, and… Continue reading MariaDB replication feature preview released
MySQL/MariaDB replication: applying events on the slave side
Working on a new set of replication APIs in MariaDB, I have given some thought to the generation of replication events on the master server. But there is another side of the equation: to apply the generated events on a slave server. This is something that most replication setups will need (unless they replicate to… Continue reading MySQL/MariaDB replication: applying events on the slave side
Dissecting the MySQL replication binlog events
For the replication project that I am currently working on in MariaDB, I wanted to understand exactly what information is needed to do full replication of all MySQL/MariaDB statements on the level of completeness that existing replication does. So I went through the code, and this is what I found. What I am after here… Continue reading Dissecting the MySQL replication binlog events