New significant branch of MariaDB 11 DBMS introduced

10 years after the founding of the 10.x branch, MariaDB 11.0.0 is released, bringing several major improvements and breaking compatibility changes. The branch is still in alpha release quality and will be ready for production use after stabilization. The next significant branch of MariaDB 12, containing changes that break compatibility, is expected to be no earlier than 10 years (in 2032).

The MariaDB project develops a fork from MySQL that maintains backwards compatibility where possible and is distinguished by the integration of additional storage engines and advanced features. MariaDB development is overseen by the independent MariaDB Foundation, following an open and transparent development process independent of individual vendors. MariaDB replaces MySQL on many Linux distributions (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) and has been adopted by major projects such as Wikipedia, Google Cloud SQL, and Nimbuzz.

A key improvement in the MariaDB 11 branch is the translation of the query optimizer to a new weight model (cost model), which provides more accurate prediction of the weights of each query execution plan. Although the new model eliminates some performance bottlenecks, it is possible that it will not be optimal in all scenarios and some queries may slow down, so users are encouraged to participate in testing and notify developers in case of problems.

The previous model worked well for finding the optimal index, but had problems with the applicability of table scans, index scans, or range fetches. In the new model, this disadvantage is eliminated by changing the base weight of operations with the storage engine. Performance evaluations for disk-intensive operations such as sequential write scans now assume data is stored on an SSD capable of 400MB reads per second. Additionally, other weight parameters of the optimizer were tuned, which, for example, made it possible to use indexes for ORDER BY/GROUP BY operations in subqueries and speed up work with very small tables.

It is noted that the new weight model will allow choosing a more optimal query execution plan in the following situations:

  • When using queries spanning more than 2 tables.
  • When there are indexes containing a large number of identical values.
  • When using ranges covering more than 10% of the table.
  • When you have complex queries where not all used columns are indexed.
  • When queries are used that involve different storage engines (for example, when one query contains access to tables in the InnoDB and Memory engines).
  • When using FORCE INDEX to improve the query plan.
  • When the query plan worsens in the case of using "ANALYZE TABLE".
  • When the query spans a large number of views (large number of nested SELECTs).
  • When using ORDER BY or GROUP BY clauses that match indexes.

Major compatibility breaks in the MariaDB 11 branch:

  • SUPER rights no longer allow you to perform actions for which separately set privileges are available. For example, changing the format of binary logs will require BINLOG ADMIN rights.
  • Removed change buffer implementation in InnoDB.
  • Deprecated innodb_flush_method and innodb_file_per_table.
  • Support for mysql* names has been deprecated.
  • Deprecated setting explicit_defaults_for_timestamp to 0.
  • Symbolic links have been moved to a separate package for compatibility with MySQL.
  • The value of the innodb_undo_tablespaces parameter has been changed from default to 3.

Source: opennet.ru

Add a comment