После 6 месяцев разработки опубликован первый стабильный релиз новой ветки СУБД MariaDB 10.7 (10.7.2), в рамках которой развивается ответвление от MySQL, сохраняющее обратную совместимость и отличающееся интеграцией дополнительных движков хранения и расширенных возможностей. Развитие MariaDB курирует независимая организация MariaDB Foundation в соответствии с полностью открытым и прозрачным процессом разработки, не зависящим от отдельных производителей. MariaDB поставляется вместо MySQL во многих дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и внедрён в таких крупных проектах, как Wikipedia, Google Cloud SQL и Nimbuzz.
Одновременно сформирован первый тестовый выпуск следующей значительной ветки MariaDB 10.8.1 и корректирующие обновления 10.6.6, 10.5.14, 10.4.23, 10.3.33 и 10.2.42. Выпуск 10.7.2 стал первым после перехода проекта на новую модель формирования релизов, подразумевающую сокращение срока поддержки с 5 лет до 1 года и переход к формированию значительных выпусков не раз в год, а раз в квартал.
Ключевые улучшения MariaDB 10.7:
- Добавлен новый тип данных UUID, предназначенный для хранения 128-битных уникальных идентификаторов (Universally Unique Identifier).
- Предложены новые функции для обработки данных в формате JSON: JSON_EQUALS() для сравнения идентичности двух JSON-документов и JSON_NORMALIZE() для приведения объектов JSON в форму, пригодную для выполнения операций сравнения (выполняет сортировку ключей и удаление пробелов).
- Добавлена функция NATURAL_SORT_KEY() для сортировки строк с учётом цифровых значений (например, строка “v10” после сортировки займёт место после строки “v9”).
- Добавлена функция SFORMAT() для произвольного форматирования строк – на вход подаётся строка с командами форматирования и список значений для подстановки (например, ‘SFORMAT(“The answer is {}.”, 42)’).
- Улучшено информирование об ошибках в INSERT-запросах, добавляющих данные в несколько строк (команда GET DIAGNOSTICS теперь выводит свойство ROW_NUMBER, указывающее на номер строки с ошибкой).
- В состав включён новый плагин проверки паролей password_reuse_check, позволяющий ограничить повторное использование паролей одним пользователем (проверка, что новый пароль не совпадает с паролями, использованными в течение времени, заданного параметром password_reuse_check_interval).
- Добавлена поддержка выражений “ALTER TABLE … CONVERT PARTITION .. TO TABLE” и “ALTER TABLE … CONVERT TABLE … TO PARTITION” для преобразования секции (partition) в таблицу и наоборот.
- В утилиту mariadb-dump добавлена опция “–as-of” для сброса дампа, соответствующего определённому состоянию версионированной таблицы.
- Для MariaDB Galera Cluster в PROCESSLIST реализованы новые состояния “waiting to execute in isolation” “waiting for TOI DDL” “waiting for flow control” и “waiting for certification”.
- В оптимизатор добавлен новый параметр “reorder“. Для многобайтовых строк повышена производительность сопоставления с учётом смысла символов в операциях с диапазонами ASCII.
- В хранилище InnoDB повышена производительность выполнения операций вставки данных в пакетном режиме, а также предварительной сортировки и построения индексов.
- Устранено 5 уязвимостей, детали по которым пока не раскрываются: CVE-2022-24052, CVE-2022-24051, CVE-2022-24050, CVE-2022-24048, CVE-2021-46659.
- Из изменений в тестовом выпуске MariaDB 10.8.1 можно отметить реализацию индексов, отсортированных в порядке убывания, которые позволяет заметно поднять производительность опеарций ORDER BY при выборке в обратном порядке. Для хранимых функций добавлены спецификаторы IN, OUT, INOUT и IN OUT. В InnoDB снижено число операций записи при ведении лога отката операций (redo).