MariaDB Non-Code Contributions by Intel

I’ve mentioned in past blog posts that not every contribution is a code contribution. There are many possible contributions that are valuable, including testing, bug reports, helping the community, etc.

Non-code contributions are quite invisible

Unfortunately, non-code contributions are sometimes invisible to the wider community, so today I wanted to shine a light on some such contributions. In this case, contributions made by one of our sponsors, Intel.

Intel is open source friendly

Intel have been an open source friendly company for a long time. But have recently pushed harder than ever towards open source, even giving their first ever new Innovation Award to Linus Torvalds.

MariaDB metrics errors – a post-mortem

I’m going to start this blog post by saying that I made a mistake, a mistake that means all of the metrics blog posts so far have been made with erroneous data. As part of our openness value I will give a post-mortem of the issue here.

Metrics generation

Before we look into what went wrong, I first need to give a bit of background. The commit metrics are generated using a tool called “gitdm”, this is a “Git Data Miner” that was designed to generate commit statistics for the Linux Kernel. Our fork of this is in the metrics repository which includes some customisations that fit MariaDB Server’s needs better.

This one trick can make MariaDB 30x faster!

Yes, it is a bit of a click-bait title, but in this case running one SQL command did improve a community user’s performance by that much. It could help you too.

The story

A community user posted in a couple of places that when migrating a large WordPress installation to MariaDB that they were seeing a certain query performing terribly. The query was taking 1.5 seconds to execute and it was clear from the explain plan that the optimizer was not making an ideal decision about the join order.

The query was generated by WordPress so it would not be easy to force an index, or rewrite the query.

Contribution Statistics September 2022

Last month we provided contributor statistics for the last few years. We have had some fantastic feedback from this so today we are presenting you with another drop of contributor statistics for the last month. Normally we would be doing these quarterly but there are so many extra things to report that we decided to do a bonus one now.

Some key things have happened in the last month which affect the data, the first is that MariaDB 10.11 has had a preview release. Which means there has been a flurry of activity around this.

Generating MariaDB Metrics

Something that is very important to us in the MariaDB Foundation is “Openness”. This is not only in the open source nature of MariaDB, but we are also very transparent in what happens with the MariaDB source code. With that in mind we have been working on ways to generate metrics that show information about the community in a consumable form.

(more…)

The Path to Code Contributions in MariaDB Server

I have been working for the MariaDB Foundation as the Chief Contributions Officer for a couple of weeks and it is fantastic being part of the MariaDB family again. Part of my job is to help the community massage pull requests into something that we can merge. I am, however, finding that one of the worst parts of my job is having to say “no” to contributions that clearly took a lot of time and effort on the part of the developer.

Contributions could be turned down or at least will require changes for a number of reasons.

MariaDB & K8s: How to replicate MariaDB in K8s

In the previous blog we have seen how to create a statefulset MariaDB application. Also, we learned how replication works in MariaDB in this blog. Now, we will try to create a replicated statefulset application. As good references for creating this blog, I would like to give credit to the Kubernetes documentation as well as an example from Alibaba Cloud.

Configure replication

To replicate a MariaDB application we are going to create a statefulset that will consist of a single init container and one application container.