MariaDB Server GitHub branches: Have your say

Many countries in the world right now are hosting elections, in fact, my own country’s election is tomorrow. MariaDB Foundation is also asking for you to make one more vote on our own kind of referendum.

We have recently had a request by a member of the community to change how we use GitHub, in a way that, in-theory, will make things easier for community contributors. I’ll explain the current situation, the proposal and then the poll.

Current situation

At the moment, if you want to develop a new feature for MariaDB Server, it needs to be developed against the latest version branch, which is the default branch when you view on GitHub.

Improving MariaDB support in open source projects

As part of MariaDB’s efforts in Adoption, we have been working on support of MariaDB in open source projects. 

The open source projects we have been looking at range from well known, ready to use projects like WordPress or MediaWiki (that Wikipedia runs on), to under-the-hood solutions like ORMs that connect software with databases for countless other open source and private projects.

MariaDB is the de facto standard that many projects and users are running. As MariaDB diverges, matures and develops on its own path from MySQL, especially in later versions, it’s not enough to shrug off compatibility questions with “MariaDB is a drop-in MySQL replacement – everybody knows that”.

How Intel helps MariaDB become even faster

There are many forums in the past couple of years where I have talked about how non-code contributions are just as important to MariaDB Server and us at the MariaDB Foundation as the code contributions I typically help with. I’ve also highlighted in the past how Intel have provided some fantastic non-code contributions. They assist us by detecting performance issues on their new and future platforms, as well guidance in finding the root cause of these issues.

The outcome: Over a million NOPM in HammerDB

Today I want to discuss some of the performance improvements that Intel has helped with, which have led to MariaDB Server achieving 1 million NOPM (new orders per minute) in the HammerDB TPROC-C test.

MariaDB Dump File Compatibility Change

Both MariaDB and MySQL have been around a long time now, and there is always a difficult balance between maintaining compatibility whilst also solving security issues that arise. With the latest bugfix releases of MariaDB, we had to break compatibility a little to improve security, but there are workarounds. We figured we should explain the reasons behind it and how to make things as painless as possible for you.

The Problem

The problem we were solving, and for various reasons we had to do it very quickly, is that it is possible to generate a malicious MariaDB dump file which could execute shell commands from the MariaDB client.

Towards a healthy ecosystem

A healthy ecosystem around MariaDB Server involves an active community. Lots of happy code contributors cause fast development of new functionality, as well as increased adoption by users. Users see the vibrancy of the contributor space as a sign of health, rightfully so. Hence, preventive health care “with daily exercise and good eating habits” is high on the agenda of MariaDB Foundation.

But in practice, improving MariaDB’s habits around code development is about as easy as improving individual life habits in general, particularly if you are under public scrutiny. Let me here share a few thoughts on our progress, and solicit some input.

MariaDB Contribution Statistics, April 2024

With the first quarter of 2024 out of the way, we can take a look at the contribution statistics for the last three months. For the Foundation, this has been a very busy quarter, we have had a few big events to prepare for and attend. As well as two very large projects we are working on (Catalogs and vector indexing). This has meant that it has been difficult for us to keep up with all the wonderful contributions.

That being said, over the coming quarter we will try to rectify this and have some plans to make things better in future.

Post-mortem: PHP and MariaDB Docker issue

Years ago, I watched a film with my children (now adults themselves) called Meet the Robinsons. A running theme from the film is that it is OK to make mistakes because it is from those mistakes we can learn and “keep moving forward”.

An unfortunate perfect storm of several problems occurred which meant that on the 21st February 2024, the mariadb:latest Docker image would not work with PHP and NodeJS clients. Now, one of the things I helped introduce into the MariaDB Foundation is the concept of doing post-mortems, not just when things go wrong but when they go right too.

Migration with Docker Official Images

In this blog we will explore how to setup a docker compose file in order to migrate from MySQL 5.7 to the latest MariaDB.

In the next blog we will explain how to setup a docker compose file to migrate from MySQL 8.0 to MariaDB.

The steps to migrate from MySQL 5.7 to MariaDB are:

  1. Start container by running docker-compose file
  2. Use the MySQL data directory and start MariaDB with MARIADB_AUTO_UPGRADE=1

Let’s explore each step.

1. Start MySQL

The MySQL container is started using the following docker-compose file.