FOSDEM 2024 follow-up

What a FOSDEM weekend in Brussels! This was MariaDB Foundation’s best FOSDEM ever, although it wasn’t a FOSDEM at all. Confused? Stay tuned.

A live migration from MySQL 5.7

The highlight in several respects was the live migration of the Cantamen cluster from MySQL 5.7 to MariaDB 10.11.

Currently, cantamen operates a MySQL 5.7 master-slave-replication cluster as backbone for our Carsharing system software solution “EBuS”. We are the leading provider in this market serving some 10.000 vehicles for roughly estimated 150.000 users. Three database schemas with some 550 tables fill about 412 GB of hard disk space on the 128-GB-RAM-equipped servers.

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.

Accelerating MariaBackup with Intel QuickAssist

With Intel QuickAssist Technology, you can see a 5x performance in your MariaBackup compression, and lower CPU usage as well. Today I’m going to show you how.

What is Intel QuickAssist?

Nearly a decade ago, Intel released a technology called QuickAssist, which started out as a PCI-e card and then became integrated in many Xeon processes starting with the Skylake generation. QuickAssist Technology (often called QAT) is a special unit that the CPU can offload compression and encryption tasks onto.

I was lucky enough to have early access to this technology back when it was new.

MariaDB semi-sync replication using containers

In the blog MariaDB replication using containers, we showed how to properly replicate data in MariaDB using Docker containers.
We used standard or asynchronous or lazy replication.

The problem with this type of replication is potential data loss if the primary goes down. Transactions that are committed on the primary are not being sent to replicas, and the replica doesn’t commit the changes. Failover from primary to replica in this case may lead to missing transactions relative to the primary.

To overcome these type of errors, there is semi-sync replication that is integrated into MariaDB since 10.4 and fully sync replication, which we plan to implement eventually as MDEV-19140.

Looking for more migration guinea pigs

Remember our open letter, Looking for MySQL 5.7 or 8.0 guinea pigs?

We caught a nice German guinea pig!

We caught a nice guinea pig, a German one, from Hannover. They are currently using MySQL 5.7 (as was our prime wish), and they will be doing a live migration to MariaDB 10.11. They have 1.000.000.000 queries a day, their database size is 412 GB, and our goal is to the migration of the production data in less than five minutes – during our MariaDB Migration Workshop at our pre-FOSDEM event on Friday 2 Feb 2024.

Where is the official MariaDB Container Image?

Easy question, easier answer. Docker Official Images are the official image distributor of MariaDB Server. It was years ago that the Docker Official Image of MariaDB Server gained all its environment variables in MARIADB_* form and its fork on the MariaDB Corporation Docker Hub was deprecated and eventually removed. As a result of contributing to the Docker Official Images of MariaDB Server, the day to day maintenance was transferred to the MariaDB github organization. Here, the MariaDB Foundation, with support from MariaDB Corporation (now MariaDB plc) on server and releases, continue to develop and support the Docker Official Image.

Feedback requested: The Good/Bad/Ugly

Hi, we from the MariaDB Foundation are having a set of meetings with developers and senior managers from all over the world. We’d like your feedback on the Good/Bad/Ugly bits of MariaDB Server as you see it, and generally what we could be doing better. Please leave comments here, or Reddit, or email discuss@lists.mariadb.org (subscription), or email me directly daniel@mariadb.org.

This will be discussed at the MariaDB (Un)conference 2023 and MariaDB Server Fest 2023 which you are welcome to attend also to state your cases in person.

What programming languages do your applications that communicate with MariaDB use?

MariaDB Foundation polls are an informal way to get feedback from our community. They’ve always been a bit hidden, but the most recent poll sat on the mariadb.org front page for a while, and got a healthy 5,225 votes.

It asked “What programming languages do your applications that communicate with MariaDB use?”, and here are the results:

Python 30%
PHP 30%
Java 19%
NodeJS 16%
C# 15%
C/C++ 11%
Bash/Shell/Powershell 7%
Other 7%
TypeScript 6%
Go 6%
Rust 4%
R 3%
Ruby 2%

How do we use these results?