MariaDB 11.0 – new optimizer, new major version series

With MariaDB 10.0.0 having been released over ten years ago (12 Nov 2012), you may ask yourself when there will be MariaDB 11.0.0. If so, I can answer you: Today.

You can now download MariaDB Server 11.0 Alpha preview from our dedicated download page and check out the release notes.

Time has passed …

Of course, we have a better reason for going with a new first number in a release other than ten years having passed. Significant new features. Significant incompatibilities with earlier versions. Or some other objective reason.

… and we have reached an important milestone!

We are excited that MariaDB Server has reached a new milestone. The majority of the changes in this release are a direct result of you, our users, reporting performance issues in the form of bad query plans to us. Our community has been deeply involved in guiding the development of this release.

A new cost model for the optimizer

The flagship feature of MariaDB 11.0 is the new optimizer cost model, which will be able to more accurately predict the actual cost of each query execution plan. But as we cannot be sure that it is better in all scenarios, we increase the major version number in order to send the signal: don’t be surprised if some stray query will be slower.

Our three-part message

Our key message is threefold:

  1. The community helped us identify optimizer problems.
  2. We have listened and now have a solution that brings MariaDB’s optimizer in line with 2022 hardware (“hard disks” aren’t what they used to be).
  3. We want the community to take this change into use and give us even more feedback. The more the better! You can reach out via a bug report in jira.mariadb.org, Zulip, or maria-discuss & maria-developers mailing-lists.

It’s the complicated queries that are improved

Most queries won’t be affected – in particular the simple ones, with at most one join. Out of 100 queries, perhaps 10 may be executed using a different plan, meaning in a different order, based on the actual contents in the table, the number of rows, the available indexes. Out of those 10 affected ones, we expect 9 or 10 to be faster.

More in later blogs

The cost model changes will be described in detail in a follow-up blog post, as can be expected from a big improvement with well over 12 months of work. The work was mostly done by our founder, Michael “Monty” Widenius, with extensive support by Sergey Petrunia and Vicențiu Ciorbaru.

Incompatibilities between 10.11 and 11.0

There are also a number of incompatibilities between 10.11 and 11.0, which we will list and blog about in due course. We wanted to implement these changes for a long time, but could not introduce them without changing a major version number.

Revisiting criteria for renumbering

As the purported “objective” criteria of the significance of new features and incompatibilities are hardly black and white, we will revisit our criteria for renumbering the first version. Suffice it to say that we do expect you to see MariaDB 12.0.0 earlier than in 10 years from now, 2032. Insights and comments welcome!

Above all: Good news – more performance!

All in all, we think there are plenty of reasons to download MariaDB 11.0 and check whether your queries run faster. This is the case in particular for those of you who have been using FORCE INDEX as a way to improve execution speed by giving the optimizer hints as to which plan to use.

Experience “the numbers going to eleven”

P.S. For friends of British pop culture and/or the fictional heavy metal band Spinal Tap: Looking forward to your experiences from seeing MariaDB Server’s AMP going to 11.

Links