Stabilne wydanie bazy danych MariaDB 10.4

Po roku prac i sześciu wersjach testowych przygotowano pierwsze stabilne wydanie nowej gałęzi bazy danych MariaDB 10.4, w ramach której rozwija się fork MySQL, zachowujący zgodność wsteczną oraz różniący się integracją dodatkowych silników przechowywania i rozszerzonymi możliwościami. Wsparcie dla nowej wersji będzie realizowane przez 5 lat, do czerwca 2024 roku.

Rozwój MariaDB nadzoruje niezależna organizacja MariaDB Foundation zgodnie z całkowicie otwartym i przejrzystym procesem rozwoju, niezależnym od konkretnych dostawców. MariaDB jest dostarczana zamiast MySQL w wielu dystrybucjach Linuksa (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) i wdrożona w takich dużych projektach, jak Wikipedia, Google Cloud SQL i Nimbuzz.

Kluczowe ulepszenia MariaDB 10.4:

  • W skład wchodzi technologia synchronizowanej replikacji multi-master Galera 4, umożliwiająca zastosowanie topologii active-active multi-master, z dostępem do odczytu i zapisu dla dowolnego węzła. Przy synchronizowanej replikacji wszystkie węzły zawsze zawierają aktualne dane, co zapewnia brak utraconych transakcji, ponieważ transakcja jest rejestrowana dopiero po rozpowszechnieniu danych we wszystkich węzłach. Replikacja odbywa się w trybie równoległym, na poziomie wierszy, z przesyłaniem tylko informacji o zmianach;
  • W systemach podobnych do Unix domyślnie działa wtyczka uwierzytelniania unix_socket, umożliwiająca wykorzystanie istniejących w systemie kont do połączenia z bazą danych za pomocą lokalnego gniazda unix;
  • Dodano możliwość określenie czasu życia hasła użytkownika, po upływie którego hasło jest oznaczane jako przestarzałe. Aby ustalić datę wygaśnięcia hasła w operacjach „CREATE USER” i „ALTER USER” dodano wyrażenie „PASSWORD EXPIRE INTERVAL N DAY”;
  • Dodano wsparcie dla blokowania użytkowników bazy danych poprzez wyrażenie „ACCOUNT LOCK” w operacjach „CREATE USER” i „ALTER USER”;
  • W znacznym stopniu przyspieszono wykonywanie sprawdzania uprawnień w konfiguracjach z dużą liczbą użytkowników lub reguł dostępu;
  • Zakończono użycie tabel mysql.user i mysql.host. Do przechowywania kont i globalnych uprawnień teraz stosuje się tabelę mysql.global_priv;
  • W wtyczkach uwierzytelniania dodano wsparcie wyrażenia „SET PASSWORD”;
  • Dodano możliwość używania więcej niż jednej wtyczki uwierzytelniania dla każdego konta, co może być przydatne w procesie stopniowego przechodzenia użytkowników na wtyczkę ed25519. Podczas tworzenia użytkownika root@localhost przez skrypt mysql_install_db domyślnie włączane są dwa wtyczki uwierzytelniania — unix_socket i mysql_native_password;
  • W magazynie InnoDB zaimplementowano operację natychmiastowego usuwania kolumn (ALTER TABLE … DROP COLUMN … ALGORITHM=INSTANT) oraz zmiany kolejności kolumn. Zredukowano rozmiar początkowego logu odwracania operacji (redo log). Dodano wsparcie dla rotacji kluczy dla innodb_encrypt_log. Zrealizowano algorytm weryfikacji sum kontrolnych
    innodb_checksum_algorithm=full_crc32. Zapewniono natychmiastowe rozszerzenie typu VARCHAR oraz zmianę kodowania tekstu dla nieindeksowanych kolumn;
  • Udoskonalono optymalizator. Dodano możliwość śledzenia optymalizatora, aktywowaną przez zmienną systemową optimizer-trace. Domyślnie włączono prowadzenie statystyki, niezależnej od silników składowania.
    Pojawiły się dwa nowe tryby use_stat_tables — COMPLEMENTARY_FOR_QUERIES oraz PREFERABLY_FOR_QUERIES. Włączono tryb optimize_join_buffer_size. Dodano nowe flagi rowid_filter oraz condition_pushdown_from_having;
  • Wsparcie dla systemowych tabel wersjonowanych, w których przechowywane są nie tylko aktualne dane, ale także informacje o wszystkich wcześniejszych zmianach, zostało rozszerzone operacjami z zakresami czasowymi;
  • Dodano nowe polecenie „FLUSH SSL” do ponownego ładowania certyfikatów SSL bez ponownego uruchamiania serwera;
  • W operacjach „INSTALL PLUGIN”, „UNINSTALL PLUGIN” oraz „UNINSTALL SONAME” dodano wsparcie dla wyrażeń „IF NOT EXISTS” oraz „IF EXISTS”;
  • Proponowane są odporne na awarie tabele systemowe, do których przechowywania stosuje się silnik Aria;
  • Zrealizowano przejście na korzystanie ze standardu C++11 (wykorzystano operacje atomowe);
  • Zdecydowanie zwiększono wydajność właściwości lokalizacji „Collation” dla Unicode, pozwalających ustalać zasady sortowania oraz metody porównywania z uwzględnieniem znaczenia znaków;
  • Dodano wtyczka do definiowania własnych typów pól;
  • Dodano wsparcie dla okiennych UDF-funkcji (User-Defined Functions);
  • W operacji „FLUSH TABLES” zrealizowano tryb „BACKUP LOCK”, który można wykorzystać podczas tworzenia kopii zapasowych plików Bazy Danych;
  • Dodano wsparcie dla komend serwera rozpoczynających się od nazwy mariadb, alternatywnych do komend rozpoczynających się od „mysql” (np. mariadump zamiast mysqldump).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster