Announcing MariaDB Community Server 11.0 GA and 11.1 RC

We are pleased to announce the general availability (GA) of MariaDB Community Server 11.0 and the first release candidate (RC) of MariaDB Community Server 11.1.

MariaDB Community Server 11.0 now GA

The major highlights for MariaDB Community Server 11.0 are an upgrade to the query optimizer, advances to the InnoDB storage engine and of course, the switch to the 11.x release series. Read more here about why we are making the change from 10.x to 11.x.

MariaDB Query Optimizer Adopts a Cost-based Model

GA introduces a new optimizer cost model, a change from a more rule-based to a cost-based model. Huge effort went into improving the calculations of the optimizer costs, taking into account state of the art SSD disks. The new implementation also takes the different characteristics of a storage engine into account.

If a key lookup cannot be used, the optimizer can now make better choices when to use index scan, table scan, index merges or other methods to join data.

While one model may work well for a specific use case, it may not be the right model for other use cases. With the changes we’ve made, it’s now possible to fine-tune the optimizer by changing costs for different metrics.

InnoDB Advances

The InnoDB storage engine, which is the default transactional storage engine in MariaDB Server used for the majority of use cases, has gone through additional code cleanup and we have removed some configuration parameters used by the InnoDB Change Buffering feature, a feature which was disabled for earlier release series. New system variables like innodb_log_file_buffering, innodb_data_file_buffering, innodb_log_file_write_through and innodb_data_file_write_through have been added to allow better control for log files and data files. They can be set dynamically while the Server is running.

Changes to the SUPER Privilege

Changes have been made regarding the use of the SUPER privilege, which has also been used as an alias for some combinations of other privileges.

New Features for MariaDB Galera Cluster

MariaDB Galera Cluster now allows splitting the semicolon separated list of options in the system variable wsrep_provider_options to separate system variables, by using a new plugin plugin-wsrep-provider. This allows easier maintenance and is especially useful when the maximum string length of the system variable is reached, most of the time because of long hostnames for Galera Cluster nodes.

The MariaDB Galera Cluster status JSON file now includes details about a node eviction status to the JSON file, to report that a Galera node needs to be restarted to join the cluster.

Compatibility For Binary Names

With this release series, MariaDB Server is deprecating the mysql-prefixed names. Warnings will be shown when a MariaDB tool is used. Symlinks are still provided, but are included in a separate compatibility package.

We encourage all users to change their scripts and tools now, if not already completed.

More details about the changes in MariaDB Community Server 11.0 can be found in its RC blog post MariaDB Community Server 11.0 RC.

 

MariaDB Community Server 11.1 now RC

Our next release series, 11.1 focuses on JSON functionality and further optimizer changes.

New JSON Function

For the 11.1 community server release series, developers can now use the new JSON function JSON_SCHEMA_VALID to validate a JSON document against a JSON schema, as documented by the JSON Schema Draft 2020. This function can also be used in a CHECK constraint to verify that only JSON documents are stored in the database which include required items and that the values are within a given range, length, etcetera.

Optimizer Changes

Changes to the optimizer now allow the use of an index for a comparison of a DATE function to a constant value.

DATE(datetime_column) = const

The optimizer also has been enhanced to allow single-table UPDATE and DELETE to take advantage of semi-join optimization.

InnoDB Index Defragmentation Removed

Defragmentation of the Index B-trees via OPTIMIZE TABLE instead of rebuilding the table has the cost of excessive locking and cannot reclaim space. Because of this, it has not been used much. Later improvements to MariaDB Community Server online ALTER TABLE and OPTIMIZE TABLE made the defragmentation feature obsolete.

After deprecation with MariaDB Community Server 11.0, the related code was removed for the storage engine InnoDB, which also resulted in the removal of the parameter innodb_defragment and related parameters innodb_defragment_n_pages, innodb_defragment_stats_accuracy, innodb_defragment_fill_factor, innodb_defragment_fill_factor_n_recs and innodb_defragment_frequency.

Now with MariaDB ColumnStore Engine Version 23.02

MariaDB Community Server 11.1 is the first release series which includes the new release series 23.02 of the MariaDB ColumnStore engine, which includes new features such as:

  • Support added for loading data from AWS S3 via a UDF columnstore_info.load_from_s3 which allows data loading with cpimport for those with no access to the command line.
  • Allow pushdown of queries involving UNION in outer SELECT to the ColumnStore engine.
  • MariaDB ColumnStore 23.02.1 is confirmed to be compatible with TPC-H benchmark tests.
  • Starting with this release, GROUP BY handler is disabled by default. GROUP BY pushdown may produce unexpected results. In prior releases, GROUP BY handler was rarely used because it was last in precedence.
  • UNION ALL with wrapped selects supports GROUP BY clause.
  • UNION with signed and unsigned integer types is supported.

We encourage you to try MariaDB Community Server 11.1 RC today. Please note that we do not recommend running RC releases in production.

Resources