Представен е изданието на СУБД MariaDB 11.8.2, което е обозначено като първия стабилен релиз на клон 11.8. Клон MariaDB 11.8 е отнесен към изданията с дълъг срок на поддръжка и ще бъде поддържан поне 5 години. В същото време е налично издание MariaDB 12.0.1, което има статус на кандидат за издание.
Проектът MariaDB развива разклонение от MySQL, осигуряващо обратна съвместимост и предлагайки интеграция на допълнителни механизми за съхранение и разширени възможности. Развитието на MariaDB се управлява от независима организация MariaDB Foundation в съответствие с открит и прозрачен процес на разработка, независим от конкретни производители. MariaDB се предлага вместо MySQL в много дистрибуции на Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и е внедрен в значими проекти като Wikipedia, Google Cloud SQL и Nimbuzz.
Сред промените в клона MariaDB 11.8 в сравнение с предишното LTS издание 11.4:
- Включени са разработки от проекта MariaDB Vector, който развива възможности за векторно търсене, търсено в системи за машинно обучение. Реализирана е вградена поддръжка за типа данни VECTOR, функциите VEC_DISTANCE_EUCLIDEAN(), VEC_DISTANCE_COSINE() и VEC_DISTANCE() за изчисляване на сходствата на векторите, както и функциите VEC_FromText() и VEC_ToText() за конвертиране между бинарно и текстово представяне на вектори. Реализирани са оптимизации за работа с вектори, използващи SIMD разширения на Intel CPU (AVX2 и AVX512), ARM и IBM Power10. В проведени тестове производителността на векторните запитвания в MariaDB надминава Redis, pgvector, qdrant и weaviate.

- Решен е проблемът с годината 2038. Граничната стойност на типа TIMESTAMP е увеличена от 2038 до 2106 година.
- По подразбиране кодировката е Unicode (utf8mb4) с пълна поддръжка на emoji вместо latin1. Свойствата на локализацията «Collation», които определят правилата за сортиране и сравнение с оглед на значението на символите, са обновени до версия UCA 14.0.0.
- Добавен е нов плъгин за удостоверяване с пароли PARSEC (Password Authentication with Response Signed by Elliptic Curves), който прилага функцията PBKDF2 за генериране на хеш на паролата и валидира отговорите, използвайки публичен ключ на базата на схемата за цифрови подписи ed25519.
- Подобрено е удостоверяването при достъп до СУБД от локалната система, използвайки UNIX-сокет.
- В mariadb-dump и mariadb-import е добавена поддръжка за многопоточна работа при създаване и възстановяване на резервни копия. Паралелизацията се прилага както при дамп на една голяма база данни, така и при едновременно резервно копиране на няколко бази данни.
- Производителността на репликацията е значително подобрена. За ускоряване на приема на много големи транзакции е реализиран механизъм за превключване на сегменти от бинарния лог (binlog), който позволява да се избегнат ресурсоемките операции за копиране на файлове. За намаляване на времето за рестартиране след сривове, е осигурено обръщане на транзакциите (rollback) в асинхронен режим. Добавена е настройка „slave_replication_delay_abort_timeout“, с помощта на която могат автоматично да се отменят транзакции, които твърде дълго блокират репликацията.
- Инструментите за мониторинг са разширени. В таблиците със статистика са добавени допълнителни колони за анализ на производителността и диагностика на проблеми.
- Добавена е таблица USERS с информация за потребителите, приложените ограничения към тях и продължителността на валидността на техните пароли.
- Добавени са командите „FLUSH GLOBAL STATUS“, „REPAIR TABLE … FORCE“ и „SHOW CREATE SERVER“.
- Добавена е възможността за връщане на стойности с тип ROW от процедурите.
- Подобрена е съвместимостта с СУБД Oracle при работа със последователности (sequence). Операцията „CREATE SEQUENCE … AS“ сега може да се използва с всякакви цели, включително „BIGINT UNSIGNED“.
- Добавени са нови функции за генериране на UUID — UUID_v7 и UUID_v4.
- Добавена е функция FORMAT_BYTES за преобразуване на число байтове в четим формат (например, FORMAT_BYTES(1000000000) ще изведе 953.67 MiB).
- Добавена е възможността за ограничаване на дисковото пространство, използвано за времеви файлове и времеви таблици. Добавени са настройки max_tmp_session_space_usage и max_tmp_total_space_usage за задаване на лимити, свързани с един или всички потребители.
- В оптимизатора на заявки е ускорена обработката на операции UPDATE/DELETE с една таблица. Включени са по подразбиране оптимизации за намаляване на кодировките до по-малко подмножество символи. Ускорени са заявки с изрази „SUBSTR(col, 1, n) = const_str“. Добавена е поддръжка за оптимизация на виртуални колони.
Източник: opennet.ru

