Стабільний випуск СКБД MariaDB 10.6

Після року розробки та трьох попередніх випусків опубліковано перший стабільний реліз нової гілки СУБД MariaDB 10.6, в рамках якої розвивається відгалуження від MySQL, що зберігає зворотну сумісність і відрізняється інтеграцією додаткових двигунів зберігання та розширених можливостей. Підтримка нової гілки буде здійснюватись 5 років, до липня 2026 року.

Розвиток MariaDB займається незалежною організацією MariaDB Foundation відповідно до повністю відкритого та прозорого процесу розробки, що не залежить від окремих виробників. MariaDB поставляється замість MySQL у багатьох дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) та впроваджений у таких великих проектах, як Wikipedia, Google Cloud SQL та Nimbuzz.

Ключові покращення MariaDB 10.6:

  • Забезпечена атомарність виконання виразів "CREATE TABLE | VIEW | SEQUENCE | TRIGGER", "ALTER TABLE | SEQUENCE", "RENAME TABLE | TABLES", "DROP TABLE | VIEW | у вихідний стан). У разі операцій «DROP TABLE», що видаляють разом кілька таблиць, атомарність забезпечується лише на рівні кожної окремої таблиці. Метою зміни є забезпечення цілісності у разі краху сервера у процесі виконання операції. Раніше, після краху могли залишатися тимчасові таблиці та файли, порушуватися синхронізація таблиць в двигунах зберігання та frm-файлах, залишатися неперейменованими окремі таблиці при перейменуванні одночасно кількох таблиць. Цілісність забезпечується рахунок ведення журналу відновлення стану, шлях якого можна визначити через нову опцію «—log-ddl-recovery=файл» (за умовчанням ddl-recovery.log).
  • Реалізовано визначену в стандарті SQL 2008 конструкцію «SELECT … OFFSET … FETCH», що дозволяє вивести певну кількість рядків, починаючи з зазначеного зсуву, з можливістю використання параметра «WITH TIES» для прикріплення ще такого наступного значення. Наприклад, вираз "SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES" відрізняється від конструкції "SELECT i FROM t1 буде виведено 3 рядки).
  • Для движка InnoDB реалізований синтаксис "SELECT … SKIP LOCKED", що дозволяє виключити рядки, для яких не може бути виставлене блокування ("LOCK IN SHARE MODE" або "FOR UPDATE").
  • Реалізовано можливість ігнорування індексів (у MySQL 8 подібна функціональність називається «невидимими індексами»). Позначка індексу для ігнорування здійснюється за допомогою прапора IGNORED у виразі ALTER TABLE, після чого індекс залишається видимим і оновлюваним, але не використовується оптимізатором.
  • Додано функцію JSON_TABLE(), призначену для перетворення даних JSON в реляційну форму. Наприклад, документ JSON можна перетворити для використання в контексті таблиці, яку можна вказати всередині блоку FROM у виразі SELECT.
  • Поліпшено сумісність із СУБД Oracle: Додано підтримку анонімних підзапитів усередині блоку FROM. Реалізовано конструкцію MINUS (еквівалент EXCEPT). Додані функції ADD_MONTHS(), TO_CHAR(), SYS_GUID() та ROWNUM().
  • У движку InnoDB прискорено вставлення в порожні таблиці. Формат рядків COMPRESSED за промовчанням переведений у режим лише для читання. Схема SYS_TABLESPACES прийшла зміну SYS_DATAFILES і безпосередньо відбиває стан у ФС. Для тимчасового табличного простору забезпечено підтримку відкладеного запису. Припинено підтримку старого алгоритму контрольних сум, що зберігався для сумісності з MariaDB 5.5.
  • У системі реплікації розмір значення параметра master_host збільшено з 60 до 255 символів, а master_user до 128. Додана змінна binlog_expire_logs_seconds для налаштування часу старіння бінарного логу в секундах (раніше час скидання визначалося лише днями через змінну expire_log_.
  • У механізмі синхронної multi-master реплікації Galera реалізовано змінну wsrep_mode для налаштування параметрів API WSREP (Write Set REPlication). Дозволено переклад Galera із незашифрованих комунікацій на використання TLS без зупинки кластера.
  • Реалізовано схему sys-schema, в якій зібрано колекцію з уявлень, функцій та процедур для аналізу операцій з БД.
  • Додані службові таблиці для аналізу продуктивності реплікації.
  • До набору інформаційних таблиць додано уявлення INFORMATION_SCHEMA.KEYWORDS та INFORMATION_SCHEMA.SQL_FUNCTIONS, які виводять список доступних ключових слів та функцій.
  • Видалено сховища TokuDB та CassandraSE.
  • Кодування utf8 переведено з чотирибайтового подання utf8mb4 (U+0000..U+10FFFF) на трибайтове utf8mb3 (охоплює діапазон Unicode U+0000..U+FFFF).
  • Додано підтримку активації по сокету в systemd.
  • У плагіні GSSAPI додана підтримка імен груп Active Directory та SID.
  • Додана перевірка наявності конфігураційного файлу $MARIADB_HOME/my.cnf на додаток до $MYSQL_HOME/my.cnf.
  • Реалізовано нові системні змінні binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode та Innodb_buffer_pool_pages_lru_freed.

Джерело: opennet.ru

Додати коментар або відгук