Пасля года распрацоўкі і шасці папярэдніх выпускаў падрыхтаваны першы стабільны рэліз новай галіны СКБД MariaDB 10.4, у рамках якой развіваецца адгалінаванне ад MySQL, якое захоўвае зваротную сумяшчальнасць і адрознае інтэграцыяй дадатковых рухавічкоў захоўвання і пашыраных магчымасцяў. Падтрымка новага адгалінавання будзе ажыццяўляцца 5 гадоў, да чэрвеня 2024 года.
Развіццё MariaDB курыруе незалежная арганізацыя MariaDB Foundation у адпаведнасці з цалкам адкрытым і празрыстым працэсам распрацоўкі, якія не залежаць ад асобных вендараў. MariaDB пастаўляецца замест MySQL у шматлікіх дыстрыбутывах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) і ўкаранёны ў такіх буйных праектах, як Вікіпедыя, Google Cloud SQL и Спрытны.
У склад уключана тэхналогія сінхроннай multi-master рэплікацыі Galera 4, якая дазваляе ўжываць тапалогію active-active multi-master, якая дапускае чытанне і запіс для любога вузла. Пры сінхроннай рэплікацыі ўсе вузлы заўсёды змяшчаюць актуальныя дадзеныя, г.зн. гарантуецца адсутнасць страчаных транзакцый, бо транзакцыя фіксуецца толькі пасля распаўсюджвання дадзеных па ўсіх вузлах. Рэплікацыя выконваецца ў паралельным рэжыме, на ўзроўні радкоў, з перадачай толькі інфармацыі аб зменах;
У Unix-падобных сістэмах па змаўчанні задзейнічаны плягін аўтэнтыфікацыі unix_socket, які дазваляе выкарыстоўваць прысутныя ў сістэме ўліковыя запісы для падлучэння да СКБД пры дапамозе лакальнага 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";
Дададзена магчымасць выкарыстання больш аднаго плагіна аўтэнтыфікацыі для кожнага ўліковага запісу, што можа быць карысным для паступовага пераводу карыстальнікаў на плагін ed25519. Пры стварэнні карыстальніка 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 і змена кадоўкі тэксту для непраіндэксаваных слупкоў;
Удасканалены аптымізатар. Дададзена магчымасць трасіроўкі аптымізатара, якая ўключаецца праз сістэмную зменную optimizer-trace. Па змаўчанні уключана вядзенне статыстыкі, незалежнай ад рухавічкоў захоўвання.
З'явілася два новых рэжыму 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, якія дазваляюць задаваць правілы сартавання і метады супастаўлення з улікам сэнсу сімвалаў;
Дададзены убудова для вызначэння ўласных тыпаў палёў;
У аперацыі "FLUSH TABLES" рэалізаваны рэжым "BACKUP LOCK", які можна выкарыстоўваць падчас рэзервовага капіявання файлаў БД;
Дададзена падтрымка серверных каманд, якія пачынаюцца з імя mariadb, альтэрнатыўных камандам, якія пачынаюцца з «mysql» (напрыклад, mariadump замест mysqldump).