After 6 months of development, the first stable release of the new branch of the MariaDB Database Management System 10.7 (10.7.2) has been published. This branch diverges from MySQL, maintaining backward compatibility while integrating additional storage engines and advanced features. The development of MariaDB is overseen by the independent organization MariaDB Foundation, adhering to a completely open and transparent development process, independent of 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.
At the same time, the first test release of the next significant branch, MariaDB 10.8.1, and corrective updates 10.6.6, 10.5.14, 10.4.23, 10.3.33, and 10.2.42 have been formed. Release 10.7.2 is the first since the project's transition to a new release formation model, which involves a reduction in the support period from 5 years to 1 year and a shift to significant releases being formed quarterly instead of annually.
Key Improvements in MariaDB 10.7:
- A new data type UUID has been added for storing 128-bit unique identifiers (Universally Unique Identifier).
- New functions for processing data in JSON format have been proposed: JSON_EQUALS() for comparing the identity of two JSON documents and JSON_NORMALIZE() for converting JSON objects into a form suitable for comparison operations (sorts keys and removes whitespace).
- The function NATURAL_SORT_KEY() has been added for sorting strings considering numerical values (for example, the string "v10" will come after "v9" when sorted).
- The function SFORMAT() has been added for arbitrary string formatting — it takes a string with formatting commands and a list of values for substitution (for example, ‘SFORMAT("The answer is {}.", 42)’).
- Error reporting in INSERT queries that add data to multiple rows has been improved (the GET DIAGNOSTICS command now outputs the property ROW_NUMBER, indicating the row number with an error).
- A new password check plugin, password_reuse_check, has been included, allowing the restriction of password reuse by a single user (ensures that the new password does not match passwords used within the time specified by the password_reuse_check_interval parameter).
- Support has been added for the expressions “ALTER TABLE … CONVERT PARTITION .. TO TABLE” and “ALTER TABLE … CONVERT TABLE … TO PARTITION” for converting a partition into a table and vice versa.
- The mariadb-dump utility now includes the option “—as-of” for dumping data corresponding to a specific state of a versioned table.
- For the MariaDB Galera Cluster, new states have been implemented in PROCESSLIST: “waiting to execute in isolation”, “waiting for TOI DDL”, “waiting for flow control”, and “waiting for certification”.
- The optimizer has introduced a new parameter “reorder”. For multi-byte strings, performance has been improved in matches considering character semantics in range operations with ASCII.
- In the InnoDB storage engine, the performance of batch data insert operations as well as pre-sorting and index building has been enhanced.
- Five vulnerabilities have been fixed, details of which are not yet disclosed: CVE-2022-24052, CVE-2022-24051, CVE-2022-24050, CVE-2022-24048, CVE-2021-46659.
- Among the changes in the test release of MariaDB 10.8.1, the implementation of descending sorted indexes stands out, significantly improving the performance of ORDER BY operations in reverse order. IN, OUT, INOUT, and IN OUT specifiers have been added for stored functions. In InnoDB, the number of write operations during redo log management has been reduced.
Source: opennet.ru
