Проектом 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.1:
- В движке хранения Aria реализован сегментированный кэш ключей, в котором ключи разбиваются на группы, хранимые в отдельных сегментах кэша. Новый кэш позволил повысить производительность паралеллельного выполнения запросов разными пользователями. Число сегментов задаётся через переменную aria_pagecache_segments, которая может принимать значения от 1 (по умолчанию) до 128.
- Улучшена масштабируемость блокировок MDL (Metadata Lock).
- Разрешено использование репликации в параллельном режиме при асинхронной репликации данных между двумя кластерами Galera.
- В плагин для ведения лога аудита добавлена поддержка буферизации операции записи в лог. Размер буфера задаётся через переменную server_audit_file_buffer_size.
- На 30-50% ускорены операции поиска для данных с типом VECTOR.
- Добавлен новый плагин аутентификации caching_sha2_password, применяющий для хэширования алгоритм SHA2 вместо SHA1. Плагин совместим с одноимённым плагином, появившемся в MySQL 9.0.
- В режиме совместимости с СУБД Oracle реализована поддержка ассоциативных массивов (INDEX BY) и синтаксиса "( + )" для определения внешних слияний (outer join), например:
Код:
SELECT * FROM table1, table2 WHERE table1.rec_num = table2.fk_table1( + );
TYPE type_name TABLE OF rec_type_name INDEX BY idx_type_name; - Добавлены новые опции управления оптимизатором: [NO_]JOIN_INDEX, [NO_]GROUP_INDEX, [NO_]ORDER_INDEX, [NO_]INDEX, [NO_]SPLIT_MATERIALIZED, [NO_]DERIVED_CONDITION_PUSHDOWN, [NO_]MERGE.
- В утилиту mariadb-dump добавлена возможность указания масок (например, "database_*"), используя опцию "-L" (--wildcards).
- Убрано требование по уникальности идентификаторов внешних ключей (foreign key) в контексте всей БД (достаточно уникальности на уровне таблицы).
- Добавлена возможность использования индексов на основе функций (functional index) для повышения производительности операций GROUP/ORDER BY.
- В результатах трассировки оптимизатора обеспечен показ определений
таблиц и представлений.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64309
(opennet.ru, основная лента)