Стабилна версия на MariaDB 10.6

След една година на разработка и три предварителни версии, беше публикувана първата стабилна версия на новия клон на MariaDB 10.6 DBMS, в рамките на който се разработва клон на MySQL, който поддържа обратна съвместимост и се отличава с интегрирането на допълнителни машини за съхранение и разширени възможности. Подкрепата за новия клон ще бъде предоставена за 5 години, до юли 2026 г.

Разработката на MariaDB се наблюдава от независимата фондация MariaDB, следвайки напълно отворен и прозрачен процес на разработка, който е независим от отделните доставчици. 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|VIEW|TRIGGER|DATABASE“ (или изразът е напълно завършен или всичко е върнато в първоначалното си състояние). В случай на операции „DROP TABLE“, които изтриват няколко таблици наведнъж, атомарността се осигурява на ниво всяка отделна таблица. Целта на промяната е да се гарантира целостта в случай на срив на сървъра по време на операция. Преди, след срив, можеха да останат временни таблици и файлове, синхронизирането на таблиците в машините за съхранение и frm файловете можеше да бъде прекъснато и отделните таблици можеха да останат непреименувани, когато няколко таблици бяха преименувани наведнъж. Целостта се гарантира чрез поддържане на регистър за възстановяване на състоянието, пътят до който може да бъде определен чрез новата опция „—log-ddl-recovery=file“ (ddl-recovery.log по подразбиране).
  • Конструкцията „SELECT ... OFFSET ... FETCH“, дефинирана в стандарта SQL 2008, е внедрена, което ви позволява да показвате определен брой редове, започвайки от определено отместване, с възможността да използвате параметъра „WITH TIES“ за прикачете друга следваща стойност. Например изразът „SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES“ се различава от конструкцията „SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1“ чрез извеждане на още един елемент в опашката (вместо 3 ще бъдат отпечатани 4 реда).
  • За двигателя InnoDB е внедрен синтаксисът „ИЗБОР ... ПРОПУСКАНЕ ЗАКЛЮЧЕНО“, който ви позволява да изключите редове, за които не може да бъде зададено заключване („ЗАКЛЮЧВАНЕ В РЕЖИМ НА СПОДЕЛЯНЕ“ или „ЗА АКТУАЛИЗИРАНЕ“).
  • Въведена е възможност за игнориране на индекси (в MySQL 8 тази функционалност се нарича „невидими индекси“). Маркирането на индекс за игнориране се извършва с помощта на флага IGNORED в оператора ALTER TABLE, след което индексът остава видим и актуализиран, но не се използва от оптимизатора.
  • Добавена е функция JSON_TABLE() за преобразуване на JSON данни в релационна форма. Например, JSON документ може да бъде трансформиран за използване в контекста на таблица, която може да бъде посочена вътре в блок FROM в оператор SELECT.
  • Подобрена съвместимост с Oracle DBMS: Добавена е поддръжка за анонимни подзаявки в блока 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_logs_days).
  • Механизмът за синхронна мулти-главна репликация на Galera прилага променливата wsrep_mode за конфигуриране на WSREP (Write Set REPlication) API параметри. Позволено преобразуване на 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 добави поддръжка за имена на групи и SID на Active Directory.
  • Добавена е проверка за наличие на конфигурационен файл $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

Добавяне на нов коментар