МаријаДБ 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|ПРИКАЖУВАЊЕ|АКТИВНИЦА|БАЗА НА ПОДАТОЦИ“ (или изразот е целосно завршено или сè се враќа во првобитната состојба). Во случај на операции „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 FET F FIRST 3 ROWS WITH TIES“ се разликува од конструкцијата „SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1“ со прикажување на уште еден елемент во опашката (наместо 3 4 линии ќе излезат).
  • За моторот InnoDB, имплементирана е синтаксата „ИЗБЕРИ ... ПРЕСКОКНИ ЗАКЛУЧЕНО“, која ви овозможува да ги исклучите редовите за кои не може да се постави заклучување („LOCK IN SHARE MODE“ или „FOR UPDATE“).
  • Способноста да се игнорираат индексите е имплементирана (во MySQL 8, оваа функционалност се нарекува „невидливи индекси“). Обележувањето на индекс за игнорирање се врши со користење на знамето IGNORED во изјавата ALTER TABLE, по што индексот останува видлив и ажуриран, но не се користи од оптимизатор.
  • Додадена е функцијата JSON_TABLE() за претворање на податоците од JSON во релациона форма. На пример, документ JSON може да се трансформира за употреба во контекст на табела, што може да се наведе во блок FROM во изјава SELECT.
  • Подобрена компатибилност со Oracle DBMS: додадена поддршка за анонимни подпрашања во блокот FROM. Конструкцијата MINUS е имплементирана (еквивалент на EXCEPT). Додадени се функциите ADD_MONTHS(), TO_CHAR(), SYS_GUID() и ROWNUM().
  • Во моторот InnoDB, вметнувањето во празни табели е забрзано. Форматот КОМПРЕСЕН стринг стандардно е поставен на режим само за читање. Шемата 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

Додадете коментар