Again this year, I will be speaking about MariaDB and stuff at the OpenSourceDays2011 conference in Copenhagen, Denmark. The conference will take place on Saturday March 5, that’s just over a week from now! The program is ready and my talk is scheduled for the afternoon at 15:30. Hope to meet a lot of people… Continue reading Speaking at OpenSourceDays2011
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
Christmas @ MariaDB
The Danish “julehjerte” is apparently a Danish/Northern Europe Christmas tradition (at least according to Wikipedia). But hopefully people outside this region will also be able to enjoy this variant: I have been doing “julehjerter” ever since I was a small kid, and every Christmas try to do something different with it. As seen above, this… Continue reading Christmas @ MariaDB
The future of replication revealed in Istanbul
A very good meeting in Istanbul is drawing to an end. People from Monty Program, Facebook, Galera, Percona, SkySQL, and other parts of the community are meeting with one foot on the European continent and another in Asia to discuss all things MariaDB and MySQL and experience the mystery of the Orient. At the meeting… Continue reading The future of replication revealed in Istanbul
Dynamic linking costs two cycles
It turns out that the overhead of dynamic linking on Linux amd64 is 2 CPU cycles per cross-module call. I usually take forever to get to the point in my writing, so I thought I would change this for once 🙂 In MySQL, there has been a historical tendency to favour static linking, inpart because… Continue reading Dynamic linking costs two cycles
Micro-benchmarking pthread_cond_broadcast()
In my work on group commit for MariaDB, I have the following situation: A group of threads are going to participate in group commit. This means that one of the threads, called the group leader, will run an fsync() for all of them, while the other threads wait. Once the group leader is done, it… Continue reading Micro-benchmarking pthread_cond_broadcast()
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
Fixing MySQL group commit (part 4 of 3)
(No three–part series is complete without a part 4, right?) Here is an analogy that describes well what group commit does. We have a bus driving back and forth transporting people from A to B (corresponding to fsync() “transporting” commits to durable storage on disk). The group commit optimisation is to have the bus pick… Continue reading Fixing MySQL group commit (part 4 of 3)
Fixing MySQL group commit (part 3)
This is the third and final article in a series about group commit in MySQL. The first article discussed the background: group commit in MySQL does not work when the binary log is enabled. The second article explained the part of the InnoDB code that is responsible for the problem. So how do we fix… Continue reading Fixing MySQL group commit (part 3)