Релиз MariaDB 10.6.3: ключевые улучшения

Состоялся релиз MariaDB 10.6.3. Реализация схемы sys, улучшения в движке InnoDB, отсутствие хранилищ TokuDB и CassandraSE. Больше информации — в материале.

Новая стабильная версия MariaDB 10.6.3 богата изменениями. Теперь можно игнорировать индексы, интегрировать дополнительные движки хранения, анализировать производительность репликации с помощью таблиц и многое другое. Поддержка этой ветки будет длиться 5 лет (до июля 2026 года).

* MariaDB — это ветка СУБД MySQL. Сообщество разработало её под лицензией GNU GPL. Причиной создания стала необходимость обеспечить свободный статус СУБД. 

Для многих дистрибутивов Linux вместо MySQL поставляется MariaDB. Среди них: RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian. Также, эта СУБД внедрена в крупные проекты, типа Wikipedia, Google Cloud SQL и Nimbuzz.

Улучшения MariaDB 10.6.3

Спустя ровно год после релиза MariaDB 10.5, вышла первая стабильная версия 10.6.3. Улучшений здесь достаточно много. Например, реализация схемы sys и многое другое. 

“Мы делаем одно крупное обновление в год, — уточняет Макс Метер, соучредитель и вице-президент по серверным продуктам в MariaDB Corporation. — Для того, чтобы ускорить темпы внедрения инноваций, мы хотели бы предоставлять новые функции более регулярно. Примером, случается так, что определенные мощности готовы, но нам нужно ждать 11 месяцев, прежде чем сделать обновление, всё из-за политики выхода релизов”.

Давайте рассмотрим основные из них:

  • атомарность выполнения команд CREATE TABLE|VIEW|SEQUENCE|TRIGGER, ALTER TABLE|SEQUENCE, RENAME TABLE|TABLES, DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE. Зачем это нужно? Цель нововведения — обеспечить целостность сервера в процессе выполнения операции, в случае краха; 
  • реализация конструкции SELECT … OFFSET … FETCH, что определена в стандарте SQL 2008. Она позволяет вывести определённое число строк, начиная с указанного смещения. В добавок, можно пользоваться параметром WITH TIES, чтобы прикрепить ещё одно следующее значение;
  • осуществление синтаксиса SELECT … SKIP LOCKED. Он позволяет исключить строки, для которых нельзя выставить блокировку (LOCK IN SHARE MODE или FOR UPDATE);
  • реализация возможности игнорирования индексов. Это можно сделать с помощью флага IGNORED в выражении ALTER TABLE. После этих действий индекс остаётся видимым и даже обновляемым, но оптимизатор его не использует;
  • функция JSON_TABLE(). Нужна для преобразования данных JSON в реляционную форму;
  • совместимость с СУБД Oracle на лучшем уровне. Разработчики добавили поддержка анонимных подзапросов внутри блока FROM, функции ADD_MONTHS(), TO_CHAR(), SYS_GUID() и ROWNUM(). Реализовали конструкция MINUS (эквивалент EXCEPT); 
  • улучшения в движке InnoDB. Среди них: вставка в пустые таблицы теперь ускорена, формат строк COMPRESSED теперь только для чтения. На смену схеме SYS_DATAFILES — теперь SYS_TABLESPACES. Поддержка старого алгоритма контрольных сумм уже не работает;
  • увеличен размер значения параметра master_host в системе репликации. С 60 до 255 символов, а master_user до 128;
  • хранилищ TokuDB и CassandraSE больше нет;
  • кодировка utf8 переведена с четырёхбайтового представления utf8mb4 (U+0000..U+10FFFF) на трёхбайтовое utf8mb3;
  • в наличии поддержка активации по сокету в systemd;
  • появилась проверка наличия файла конфигурации $MARIADB_HOME/my.cnf в дополнение к $MYSQL_HOME/my.cnf;

И многое другое.

Обновление с MariaDB 10.5 до 10.6

Предлагаемая процедура обновления:

  1. Измените конфигурацию репозитория, чтобы системный менеджер пакетов установил MariaDB 10.6. 
  2. Удалите старую версию MariaDB.
  3. Установите новую версию MariaDB.
  4. Внесите любые желаемые изменения в параметры конфигурации в файлах параметров, например my.cnf. Это включает удаление любых параметров, которые больше не поддерживаются.
  5. Запустите MariaDB.
  6. Запустите mariadb-upgrade.

Для более подробной инструкции можно посетить официальный сайт.

Перспективы MariaDB

Приоритетная задача MariaDB — работа над адаптивностью своей СУБД. “У нас есть несколько механизмов хранения, но мы хотим, чтобы клиенты могли использовать один и тот же интерфейс, не меняя ничего на уровне приложения, — уточняет Макс Метер. — Короче говоря, мы хотим, чтобы одинаковые запросы выполнялись с разными механизмами хранения”. 

Большинство клиентов используют только одно хранилище одновременно для каждого приложения. Следовательно, интенсивное производственное использование не требует одновременной поддержки нескольких механизмов. Оно требует сглаживания переходов между механизмами. “В этом вопросе еще предстоит проделать работу, — анонсирует Метер. — Мы немного отстали в некоторых расширенных функциях SQL, но мы движемся в этом направлении”.

Добавить комментарий

Спасибо, что поделились