После 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).
Источник: http://www.opennet.ru/opennews/art.shtml?num=56671