Po roku prac rozwojowych i sześciu wydaniach przedpremierowych przygotowany pierwsze stabilne wydanie nowej gałęzi DBMS MariaDB 10.4, w ramach którego rozwijana jest gałąź MySQL zachowująca kompatybilność wsteczną i różny integracja dodatkowych silników pamięci masowej i zaawansowanych możliwości. Wsparcie dla nowego oddziału będzie świadczone przez 5 lat, do czerwca 2024 roku.
Rozwój MariaDB jest nadzorowany przez niezależną Fundację MariaDB, zgodnie z całkowicie otwartym i przejrzystym procesem rozwoju, niezależnym od poszczególnych dostawców. MariaDB jest dostarczana zamiast MySQL w wielu dystrybucjach Linuksa (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) i została wdrożona w tak dużych projektach jak Wikipedia, Google CloudSQL и Nimbuzz.
Zawiera technologię synchronicznej replikacji z wieloma wzorcami Galera 4, która umożliwia topologię typu aktywny-aktywny z wieloma wzorcami, którą może odczytywać i zapisywać dowolny węzeł. W przypadku replikacji synchronicznej wszystkie węzły zawierają zawsze aktualne dane, tj. nie gwarantuje się żadnych utraconych transakcji, ponieważ transakcja zostaje zatwierdzona dopiero po rozesłaniu danych do wszystkich węzłów. Replikacja odbywa się w trybie równoległym, na poziomie wiersza, przekazując jedynie informację o zmianach;
W systemach typu Unix wtyczka uwierzytelniająca jest domyślnie włączona gniazdo_unixa, który umożliwia wykorzystanie kont obecnych w systemie do połączenia się z SZBD za pomocą lokalnego gniazda unixowego;
Dodany okazja przypisanie hasła użytkownika dożywotniego, po upływie którego hasło jest oznaczane jako wygasłe. Aby ustawić datę ważności hasła w operacjach „UTWÓRZ UŻYTKOWNIKA” i „ZMIEŃ UŻYTKOWNIKA”, dodano wyrażenie „INTERWAŁ WAŻNOŚCI HASŁA N DZIEŃ”;
Dodano wsparcie bloking użytkowników DBMS poprzez wyrażenie „ACCOUNT LOCK” w operacjach „CREATE USER” i „ALTER USER”;
Wykonywanie kontroli uprawnień w konfiguracjach z dużą liczbą użytkowników lub reguł dostępu zostało znacznie przyspieszone;
przerwane przy użyciu tabel mysql.user i mysql.host. Tabela mysql.global_priv jest teraz używana do przechowywania kont i globalnych uprawnień;
В wtyczki uwierzytelnianie dodany obsługa wyrażenia „SET PASSWORD”;
Dodany możliwość korzystania z więcej niż jednej wtyczki uwierzytelniającej dla każdego konta, co może być przydatne przy stopniowej migracji użytkowników do wtyczki ed25519. Podczas tworzenia użytkownika root@localhost za pomocą skryptu mysql_install_db domyślnie włączone są teraz dwie wtyczki uwierzytelniające - unix_socket i mysql_native_password;
Magazyn InnoDB realizuje operację natychmiastowego usuwania kolumn (ALTER TABLE ... DROP COLUMN ... ALGORITHM=INSTANT) i zmiany kolejności kolumn. Zmniejszono rozmiar początkowego dziennika operacji wycofywania (dziennik powtórzeń). Dodano obsługę rotacji kluczy dla innodb_encrypt_log. Zaimplementowano algorytm sprawdzania sum kontrolnych
innodb_checksum_algorithm=full_crc32. Zapewnia natychmiastową rozbudowę typu VARCHAR i zmianę kodowania tekstu dla kolumn nieindeksowanych;
Ulepszony optymalizator. Dodano możliwość śledzenia optymalizatora, włączaną poprzez zmienną systemową śledzenie optymalizatora. Domyślny w zestawie prowadzenie statystyk niezależnych od silników magazynujących.
Istnieją dwa nowe tryby use_stat_tables - COMPLEMENTARY_FOR_QUERIES i PREFERABLY_FOR_QUERIES. Tryb optymalizacji_join_buffer_size jest włączony. Dodano nowe flagi rowid_filter i warunek_pushdown_from_having;
Rozszerzona została obsługa systemowych tabel wersjonowanych, które nie tylko przechowują bieżący wycinek danych, ale także zapisują informację o wszystkich wcześniej dokonanych zmianach operacje z zakresami czasowymi;
Dodano nowe polecenie „FLUSH SSL” umożliwiające ponowne załadowanie certyfikatów SSL bez ponownego uruchamiania serwera;
Dodano obsługę wyrażeń „JEŚLI NIE ISTNIEJE” i „JEŚLI ISTNIEJE” w operacjach „ZAINSTALUJ WTYCZKĘ”, „ODINSTALUJ WTYCZKĘ” i „ODINSTALUJ SONAME”;
Proponowane są stoły systemowe odporne na awarie, do przechowywania których wykorzystywany jest silnik Aria;
Dokonano przejścia na standard C++11 (w grę wchodzą operacje atomowe);
Wydajność właściwości ustawień regionalnych sortowania dla Unicode została znacznie poprawiona, umożliwiając określenie reguł sortowania i metod dopasowywania w oparciu o znaczenie znaków;
обавлен wtyczka do definiowania własnych typów pól;
Dodano obsługę okienkową Funkcje UDF (Funkcje zdefiniowane przez użytkownika);
W operacji „FLUSH TABLES”. wdrożone Tryb „BACKUP LOCK”, który można zastosować podczas tworzenia kopii zapasowej plików bazy danych;
Dodany obsługa poleceń serwerowych zaczynających się od mariadb, alternatywy dla poleceń zaczynających się od „mysql” (na przykład mariadump zamiast mysqldump).