The release of the MariaDB DBMS version 12.1.2 has been published, marking the first stable release of the 12.1 branch. The MariaDB 12.1 branch is classified as a rolling release, continuing the incremental development of features and succeeding the MariaDB 12.0 branch. Simultaneously, the release of MariaDB 12.2.1 has been made available, which is in release candidate status. The MariaDB 12.1 branch will be supported until the release of 12.2.2.
The MariaDB project develops a fork from MySQL, preserving backward compatibility and distinguished by the integration of additional storage engines and enhanced capabilities. The development of MariaDB is overseen by the independent MariaDB Foundation in accordance with an open and transparent development process that is not dependent on individual vendors. MariaDB is supplied instead of MySQL in many Linux distributions (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) and is implemented in major projects such as Wikipedia, Google Cloud SQL, and Nimbuzz.
Among the changes in the MariaDB 12.1 branch:
- A segmented key cache has been implemented in the Aria storage engine, where keys are divided into groups stored in separate cache segments. The new cache has improved the performance of parallel query execution by different users. The number of segments is set via the aria_pagecache_segments variable, which can take values from 1 (default) to 128.
- Scalability of MDL (Metadata Lock) locks has been improved.
- Parallel replication is allowed in asynchronous data replication between two Galera clusters.
- The audit log plugin has added support for buffering write operations to the log. The buffer size is specified through the server_audit_file_buffer_size variable.
- Search operations for VECTOR type data have been accelerated by 30-50%.
- A new caching_sha2_password authentication plugin has been added, which uses the SHA2 algorithm for hashing instead of SHA1. The plugin is compatible with the similarly named plugin introduced in MySQL 9.0.
- In compatibility mode with Oracle DBMS, support for associative arrays (INDEX BY) and the syntax '( + )' for defining outer joins has been implemented. For example: SELECT * FROM table1, table2 WHERE table1.rec_num = table2.fk_table1( + ); TYPE type_name TABLE OF rec_type_name INDEX BY idx_type_name;
- New optimizer control options have been added: [NO_]JOIN_INDEX, [NO_]GROUP_INDEX, [NO_]ORDER_INDEX, [NO_]INDEX, [NO_]SPLIT_MATERIALIZED, [NO_]DERIVED_CONDITION_PUSHDOWN, [NO_]MERGE.
- The mariadb-dump utility has been enhanced with the ability to specify patterns (e.g., 'database_*') using the '-L' (—wildcards) option.
- The requirement for unique foreign key identifiers in the context of the entire database has been removed (uniqueness at the table level is sufficient).
- The ability to use functional indexes to improve the performance of GROUP/ORDER BY operations has been added.
- The optimizer trace results now show definitions of tables and views.
Source: opennet.ru
