MariaDB Server 10.5 е свежа, нова и стабилна версия от MariaDB, която беше пусната на 24 юни 2020 г. Нека да разгледаме функциите, които ще ни предостави.
Още подробни привилегии
С MariaDB 10.5 идват някои промени по отношение на привилегиите. Основно привилегията SUPER е разделена на няколко нови привилегии, което позволява да се зададе по-подробен контрол върху това какви действия са разрешени за дадени потребители и кои не. По-долу е списъкът с новите привилегии, които са налични в MariaDB 10.5:
- АДМИНИСТРАТОР НА BINLOG
- ПОВТОРЯНЕ НА БИНЛОГ
- АДМИНИСТРАТОР НА ВРЪЗКАТА
- ФЕДЕРАТИРАН АДМИНИСТРАТОР
- АДМИНИСТРАТОР САМО ЗА ЧЕТЕНЕ
- ГЛАВЕН АДМИНИРОВАНИЕ НА РЕПЛИКАЦИЯ
- АДМИНИСТРАТОР НА РЕПЛИКАЦИЯ ДОБРЕНО
- ЗАДАВАНЕ НА ПОТРЕБИТЕЛ
Подобрения в производителността на InnoDB
MariaDB 10.5 идва със списък с подобрения на производителността за InnoDB. Това, което е важно да знаете, е, че MariaDB 10.5 е вградил InnoDB от MariaDB 10.4. Ще има модификации и подобрения в производителността, но ядрото на InnoDB е същото като в MariaDB 10.4. Това е много интересно да се види как пътят, избран от MariaDB, ще донесе по отношение на производителността. От една страна, придържането към старата версия позволява по-бързи цикли на пускане на MariaDB - пренасянето на изцяло нов InnoDB към MariaDB би било голямо предизвикателство и, нека бъдем честни, може да не е наистина възможно да се постигне. Моля, имайте предвид, че MariaDB става все по-несъвместима с upstream. Измина известно време от последната версия, където можете просто да разменяте двоични файлове и всичко ще работи без проблеми.
MariaDB разработи своя набор от функции като криптиране или компресиране, което прави тези реализации несъвместими. От друга страна, новият InnoDB показа значително по-добра производителност от MariaDB 10.4. Написани са много редове код (и много редове код са премахнати), за да стане по-мащабируем от предишната версия. Ще бъде много интересно да се види дали MariaDB 10.5 ще може да надмине своите конкуренти.
Няма да навлизаме в подробности, тъй като това е, което можете да намерите на уебсайта на MariaDB, бихме искали да споменем някои от промените. Регистрите за повторение на InnoDB са поработили, което ги прави по-ефективни. Буферният пул на InnoDB също е подобрен до степен, че опцията за създаване на множество буферни пулове е премахната, тъй като вече не е необходима - предизвикателствата в производителността, които е имало за цел да поправи, вече бяха коригирани в 10.5, което прави тази опция ненужна.
Това, което също е важно да имате предвид, е, че InnoDB в 10.5 ще бъде, поради промените, ще бъде несъвместим с InnoDB в 10.4. Надстройката ще бъде само еднопосочна, трябва съответно да планирате процеса на надстройка.
Пълна поддръжка на GTID за Galera Cluster
Galera Cluster ще се появи в MariaDB 10.5 с пълна поддръжка на GTID. Това би трябвало да направи смесването на Galera Cluster и асинхронната репликация по-безпроблемно и по-малко проблематично.
Още метаданни за репликация и двоични регистрационни файлове
Като говорим за репликацията, MariaDB 10.5 е подобрила метаданните за двоични регистрационни файлове. Той идва с повече информация за репликираните данни:
- Сигнация на числовите колони
- Набор от знаци от символни колони и двоични колони
- Име на колона
- Стойност на низ от SET колони
- Стойност на низ на колоните на ENUM
- Първичен ключ
- Набор от знаци от SET колони и ENUM колони
- Тип геометрия
Това трябва да помогне да се избегнат проблеми с репликацията, ако има различни схеми на главния и подчинения.
Синтаксис
Няколко промени в синтаксиса на SQL бяха въведени в MariaDB 10.5. INTERSECT ни позволява да напишем заявка, която ще доведе до редове, които се връщат от два оператора SELECT. В MariaDB 10.5 е добавено INTERSECT ALL, което позволява връщане на резултатен набор с дублиращи се стойности. По същия начин EXCEPT е подобрено, за да позволи EXCEPT ALL.
Направени са няколко промени в синтаксиса ALTER - вече можете да преименувате колони с ALTER TABLE ... RENAME COLUMN. Също така е възможно да се преименува индекс с помощта на ALTER TABLE ... RENAME KEY синтаксис. Това, което е доста важно, както ALTER TABLE, така и RENAME TABLE получиха поддръжка за IF EXISTS, това определено ще помогне по отношение на обработката на репликация.
Актуализации на схемата за изпълнение, за да съответства на MySQL 5.7
Таблиците със схема на производителност бяха актуализирани, така че да бъдат наравно със схемата за производителност от MySQL 5.7. Това означава промени в инструментите, свързани с паметта, заключването на метаданни, подготвените оператори, съхранените процедури, заключването, транзакциите и потребителските променливи.
Бинарни файлове с име mariadb
Не на последно място, двоичните файлове бяха променени от „mysql“ на „mariadb“. Старата конвенция за именуване обаче все още може да се използва, за да се запази съвместимостта със съществуващите скриптове и инструменти.
Освен това бяха въведени няколко други промени. Функция за агрегиране на JSON масив и обекти, подобрено оборудване за пула за връзки, подобрения в оптимизатора на заявки или миграция към нова версия на библиотеката за регулярни изрази. Въведена е и интеграция със S3 - можете да четете данни от S3 кофи от MariaDB 10.5.
Очакваме с нетърпение да видим как ще изглежда тази нова версия на MariaDB в производствени среди. Ако се интересувате да опитате, инструкциите за миграция са достъпни на уебсайта на MariaDB