Опубликована новая LTS-ветка СУБД MariaDB 11.8

Представлен выпуск СУБД 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-расширения CPU Intel (AVX2 и AVX512), ARM и IBM Power10. В проведённых тестах производительность векторных запросов в MariaDB превосходит Redis, pgvector, qdrant и weaviate.
  • Решена проблема 2038 года. Граничное значение типа TIMESTAMP увеличено с 2038 до 2106 года.
  • По умолчанию вместо latin1 выставлена кодировка Unicode (utf8mb4) с полной поддержкой emoji. Свойства локали “Collation”, определяющие правила сортировки и сопоставления с учётом смысла символов, обновлены до версии UCA 14.0.0.
  • Добавлен новый плагин аутентификации по паролям PARSEC (Password Authentication with Response Signed by Elliptic Curves), применяющий функцию PBKDF2 для формирования хэша пароля и верифицирующий ответы с использованием открытого ключа на базе схемы цифровых подписей ed25519.
  • Улучшена аутентификация при доступе к СУБД c локальной системы, используя 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”. Добавлена поддержка оптимизации виртуальных столбцов.
Release. Ссылка here.