След шестемесеца разработки е публикувана първата стабилна версия на новата гама на СУБД 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(«Отговорът е {}.», 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).
Източник: opennet.ru
