След една година разработка и шест предварителни версии първият стабилен релиз на новото поколение СУБД , в рамките на която се развива разклонение от MySQL, запазващо обратно съвместимост и интеграция на допълнителни хранилища и разширени възможности. Подкрепата за новата версия ще се осъществява в продължение на 5 години, до юни 2024 година.
Развитието на MariaDB се ръководи от независимата организация MariaDB Foundation в съответствие с напълно отворен и прозрачен процес на разработка, независим от отделни доставчици. MariaDB се предлага като заместител на MySQL в много дистрибуции на Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и е внедрена в такива големи проекти, като , и .
Ключови :
- Включена е технологията за синхронна multi-master репликация , позволяваща прилагане на топология active-active multi-master, допускаща четене и запис за всеки възел. При синхронна репликация всички възли винаги съдържат актуални данни, т.е. гарантирано е отсъствието на загубени транзакции, тъй като транзакцията се фиксира само след разпространение на данните до всички възли. Репликацията се извършва в паралелен режим, на ниво редове, с предаване само на информация за промените;
- В Unix-подобни системи по подразбиране е активиран плъгин за удостоверяване , позволяващ използването на присъстващите в системата акаунти за свързване към СУБД чрез локален unix-сокет;
- Добавена е определяне на срока на действие на потребителската парола, след изтичането на който паролата се отбелязва като изтекла. За задаване на срока на действие на паролата в операциите "CREATE USER" и "ALTER USER" е добавено изразът "PASSWORD EXPIRE INTERVAL N DAY";
- Добавена е поддръжка потребители на СУБД чрез израза "ACCOUNT LOCK" в операциите "CREATE USER" и "ALTER USER";
- Значително е ускорено изпълнението на проверките за права в конфигурации с голям брой потребители или правила за достъп;
- използване на таблиците mysql.user и mysql.host. За съхраняване на акаунти и глобални права сега се използва таблицата mysql.global_priv;
- В за удостоверяване подкрепа за израза "SET PASSWORD";
- възможността за използване на повече от един плъгин за удостоверяване за всеки акаунт, което може да бъде полезно за постепенно прехвърляне на потребителите на плъгина . При създаване на потребител root@localhost от скрипта mysql_install_db по подразбиране сега се активират два плъгина за удостоверяване — unix_socket и mysql_native_password;
- В хранилище InnoDB е реализирана операция за мигновено премахване на колони (ALTER TABLE … DROP COLUMN … ALGORITHM=INSTANT) и за промяна на реда на колоните. Обемът на началния лог за възстановяване на операциите (redo log) е намален. Добавена е поддръжка за ротация на ключове за innodb_encrypt_log. Реализиран е алгоритъм за проверка на контрольни суми.
innodb_checksum_algorithm=full_crc32. Осигурено е мигновено разширяване на типа VARCHAR и промяна на текстовата кодировка за неиндексирани колони; - Оптимизаторът е усъвършенстван. Добавена е възможност за трасировка на оптимизатора, активирана чрез системна променлива. . По подразбиране водене на статистика, независима от двигателите за съхранение.
Въведени са два нови режима use_stat_tables — COMPLEMENTARY_FOR_QUERIES и PREFERABLY_FOR_QUERIES. Активиран е режим optimize_join_buffer_size. Добавени са нови rowid_filter и condition_pushdown_from_having; - Поддръжка на системни версионирани таблици, в които не само се съхранява актуалният изрез на данни, но и информация за всички предходни изменения, е разширена с времеви диапазони;
- Добавена е нова команда «FLUSH SSL» за повторно зареждане на SSL-сертификати без рестартиране на сървъра;
- В операциите «INSTALL PLUGIN», «UNINSTALL PLUGIN» и «UNINSTALL SONAME» е добавена поддръжка на изрази «IF NOT EXISTS» и «IF EXISTS»;
- Предложени са устойчиви на срив системни таблици, за съхранението на които се използва двигателят ;
- Извършен е преход към използване на стандарта C++11 (включени са атомарни операции);
- Значително е увеличена производителността на свойствата на локализация «Collation» за Unicode, позволяващи задаване на правила за сортиране и методи за съпоставяне с оглед на значението на символите;
- плагин за определяне на собствени типове полета;
- Добавена е поддръжка на прозоречни (User-Defined Functions);
- В операцията «FLUSH TABLES» режим «BACKUP LOCK», който може да се използва по време на резервно копиране на файлове на БД;
- поддръжка на сървърни команди, започващи с името mariadb, алтернативни на командите, започващи с «mysql» (например, mariadump вместо mysqldump).
Източник: opennet.ru
