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

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 1529
Зарегистрирован: 20.08.2022

#

Опубликована новая LTS-ветка СУБД MariaDB 12.3
Дата публикации:Sat, 30 May 2026 13:13:21 +0300

Представлен выпуск СУБД MariaDB 12.3.2, который отмечен как первый стабильный релиз ветки 12.3. Ветка MariaDB 12.3 отнесена к выпускам с длительным сроком поддержки и будет сопровождаться до июня 2029 года. Одновременно доступен выпуск MariaDB 13.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 12.3 по сравнению с прошлым LTS-выпуском MariaDB 11.8:
  • Полностью переделана реализация бинарного лога (binlog), основные компоненты для ведения которого перенесены в движок InnoDB. Подобный перенос позволил избавиться от устаревшей логики синхронизации и повысить производительность репликации и выполнения операций, связанных с записью данных. При тестировании новой реализации на высоконагруженных системах отмечен прирост производительности при записи до 4 раз. Для включения предложена настройка "binlog_storage_engine=innodb". На 30-50% повышена скорость векторного поиска с использованием типа VECTOR, применяемого системах машинного обучения. Ускорение достигается благодаря оптимизации вычислений при поиске сходства между векторами в многомерных пространствах и реализации новой техники экстраполяции на основе вложенных векторных представлений (matryoshka embedding). Добавлены возможности для упрощения миграции с СУБД Oracle. В режиме совместимости с СУБД Oracle реализованы функции TO_NUMBER (преобразование строки в число), TO_DATE (преобразование строки в дату) и TRUNC (усечение даты, например, до часа, дня, месяца, года), а также появилась поддержка ассоциативных массивов (INDEX BY) и синтаксиса "( + )" для определения внешних слияний (outer join). Для повышения совместимости с MySQL добавлен плагин аутентификации caching_sha2_password, применяющий для хэширования алгоритм SHA2 вместо SHA1 и совместимый с одноимённым плагином из MySQL 9. Добавлен новый тип TYPE для хранения данных в формате XML. Реализована возможность использования курсоров с параметризованными запросами (prepared statement). Добавлено выражение "SET PATH" для задания порядка поиска компонентов схемы хранения при обращении к ним без указания имени схемы. Реализована поддержка операции "IS JSON" для проверки типа выражения JSON, определённой в стандарте SQL:2023. В выражении "PARTITION BY KEY" реализована поддержка алгоритмов хэширования MYSQL51, MYSQL55, BASE31, CRC32C, XXH32 и XXH3. В движке хранения Aria реализован сегментированный кэш ключей, в котором ключи разбиваются на группы, хранимые в отдельных сегментах кэша. Новый кэш позволил повысить производительность паралеллельного выполнения запросов разными пользователями. Число сегментов задаётся через переменную aria_pagecache_segments, которая может принимать значения от 1 (по умолчанию) до 128. Добавлена возможность использования индексов на основе функций (functional index) для повышения производительности операций GROUP/ORDER BY. Реализована поддержка выражения "CREATE GLOBAL TEMPORARY TABLE" для создания глобальных временных таблиц. Подобные временные таблицы удаляются после завершения сеанса и видны всем пользователям, но содержат данные, индивидуальные для каждого пользователя. Добавлена поддержка SSL-ключей, защищённых паролем. Пароль для разблокирования SSL-сертификатов может быть задан через переменную ssl_passphrase или вручную при запуске сервера. Добавлено выражение "SET SESSION AUTHORIZATION" для выполнения действия под другим пользователем при выставлении соответствующих привилегий (выражение можно рассматривать как аналог "sudo" для СУБД). В плагин file_key_management.so добавлена поддержка хэшей SHA-2. Добавлена поддержка слабых курсорных переменных (weak cursor variable) предопределенного типа SYS_REFCURSOR, позволяющих возвращать курсор из хранимых процедур (в параметре OUT) или из функций (в выражении RETURN). Для ограничения максимального числа одновременно открытых курсоров добавлена системная переменная "max_open_cursors". В тип TO_CHAR добавлена поддержка формата FM (Fill Mode) для исключения добавочного заполнения. Например, запрос "SELECT CONCAT('/', TO_CHAR('2020-01-06 10:11:12', 'FMDAY'), '/');" вернёт "/Monday/" вместо "/Monday /". В утилиту mariadb-check и выражение CHECK TABLE добавлена поддержка таблиц от движка SEQUENCE. В оптимизатор добавлена поддержка опций (hint), влияющих на построения плана оптимизаций: QB_NAME, NO_RANGE_OPTIMIZATION, NO_ICP, MRR, NO_MRR, BKA, NO_BKA, BNL, NO_BNL, SEMIJOIN, SUBQUERY, JOIN_FIXED_ORDER, JOIN_ORDER, JOIN_PREFIX, JOIN_SUFFIX, MAX_EXECUTION_TIME, [NO_]JOIN_INDEX, [NO_]GROUP_INDEX, [NO_]ORDER_INDEX, [NO_]INDEX, [NO_]SPLIT_MATERIALIZED, NO_ROWID_FILTER, INDEX_MERGE/NO_INDEX_MERGE, [NO_]DERIVED_CONDITION_PUSHDOWN и [NO_]MERGE. Опции подставляются в запрос в формате, совместимом с MySQL, например: SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE ...; SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE ...; Повышена производительность неупорядоченных выражений "LEFT JOIN" и упорядоченного сканирования при использовании выражения "PARTITION BY RANGE". В результатах трассировки оптимизатора обеспечен показ определений таблиц и представлений. При выполнении операций слияния таблиц (JOIN) реализована оптимизация, учитывающая уникальность строк в подзапросах с выражением "GROUP BY" для более точного прогнозирования числа результирующих строк (out_rows) и корректного применения индексов. Улучшена масштабируемость блокировок MDL (Metadata Lock). Добавлена поддержка новых функций GIS (Geographic Information System): ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect. Добавлена поддержка триггеров, срабатывающих для нескольких событий. В выражении CREATE TRIGGER теперь можно перечислять подпадающие под него события, используя синтаксис "{ event [ OR ... ] }". В плагин для ведения лога аудита добавлена поддержка буферизации операции записи в лог. Размер буфера задаётся через переменную server_audit_file_buffer_size. Реализовано сохранение в логе аудита информации о сетевых портах для входящих соединений (ранее отражался только хост). В утилиту mariadb добавлена опция "--script-dir" для задания альтернативного каталога поиска скриптов, запускаемых командой SOURCE. Разрешено использование репликации в параллельном режиме при асинхронной репликации данных между двумя кластерами Galera. В утилиту mariadb-dump добавлена возможность указания масок (например, "database_*"), используя опцию "-L" (--wildcards). Убрано требование по уникальности идентификаторов внешних ключей (foreign key) в контексте всей БД (достаточно уникальности на уровне таблицы). Сняты ограничения на уровень вложенности структур в функциях для работы с JSON (убран лимит JSON_DEPTH_LIMIT, который ранее принимал значение 32). Добавлена таблица TRIGGERED_UPDATE_COLUMNS в схеме INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), показывающая столбцы, изменяемые при срабатывании триггера. В таблице PARAMETERS в схеме INFORMATION_SCHEMA реализован столбец PARAMETER_DEFAULT, содержащий значения по умолчанию параметров хранимых процедур. Удалены переменные big_tables, large_page_size и storage_engine, ранее объявленные устаревшими.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=65581

Жизнь за Нер'зула!

Ответить