Wersja stabilna MariaDB 10.6

Po roku rozwoju i trzech wstępnych wydaniach ukazało się pierwsze stabilne wydanie nowej gałęzi systemu MariaDB 10.6 DBMS, w ramach którego rozwijana jest gałąź MySQL zachowująca kompatybilność wsteczną i wyróżniająca się integracją dodatkowych silników pamięci masowej i zaawansowane możliwości. Wsparcie dla nowego oddziału będzie świadczone przez 5 lat, do lipca 2026 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 jako zamiennik 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 Cloud SQL i Nimbuzz.

Kluczowe ulepszenia w MariaDB 10.6:

  • Zapewnione jest niepodzielne wykonanie wyrażeń „CREATE TABLE|VIEW|SEQUENCE|TRIGGER”, „ALTER TABLE|SEQUENCE”, „RENAME TABLE|TABLES”, „DROP TABLE|VIEW|VIEW|TRIGGER|BAZA DANYCH” (albo wyrażenie jest całkowicie ukończone lub wszystko wróciło do pierwotnego stanu). W przypadku operacji „DROP TABLE” usuwających kilka tabel jednocześnie, zapewniona jest atomowość na poziomie każdej pojedynczej tabeli. Celem zmiany jest zapewnienie integralności na wypadek awarii serwera podczas operacji. Wcześniej po awarii mogły pozostać tabele i pliki tymczasowe, synchronizacja tabel w silnikach pamięci masowej i plikach frm mogła zostać zakłócona, a nazwy poszczególnych tabel mogły pozostać bez nazw, gdy zmieniano nazwy kilku tabel jednocześnie. Integralność zapewnia prowadzenie dziennika odzyskiwania stanu, do którego ścieżkę można określić za pomocą nowej opcji „—log-ddl-recovery=file” (domyślnie ddl-recovery.log).
  • Zaimplementowano zdefiniowaną w standardzie SQL 2008 konstrukcję „SELECT…OFFSET…FETCH”, która pozwala na wyświetlenie określonej liczby wierszy zaczynając od określonego offsetu, z możliwością wykorzystania parametru „WITH TIES” do dołącz kolejną następną wartość. Na przykład wyrażenie „SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES” różni się od konstrukcji „SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1” poprzez wypisanie jeszcze jednego elementu na końcu (zamiast 3 4 linie zostaną wydrukowane).
  • Dla silnika InnoDB zaimplementowano składnię „SELECT…SKIP LOCKED”, która pozwala na wykluczenie wierszy, dla których nie można ustawić blokady („LOCK IN SHARE MODE” lub „FOR UPDATE”).
  • Zaimplementowano możliwość ignorowania indeksów (w MySQL 8 taka funkcjonalność nazywa się „niewidzialnymi indeksami”). Oznaczenie indeksu do ignorowania odbywa się za pomocą flagi IGNORED w instrukcji ALTER TABLE, po czym indeks pozostaje widoczny i aktualizowany, ale nie jest używany przez optymalizator.
  • Dodano funkcję JSON_TABLE() do konwersji danych JSON do postaci relacyjnej. Na przykład dokument JSON można przekształcić w celu użycia w kontekście tabeli, którą można określić w bloku FROM w instrukcji SELECT.
  • Poprawiona kompatybilność z Oracle DBMS: Dodano obsługę anonimowych podzapytań w bloku FROM. Zaimplementowano konstrukcję MINUS (odpowiednik EXCEPT). Dodano funkcje ADD_MONTHS(), TO_CHAR(), SYS_GUID() i ROWNUM().
  • W silniku InnoDB przyspieszono wstawianie do pustych tabel. Format ciągu COMPRESSED jest domyślnie ustawiony na tryb tylko do odczytu. Schemat SYS_TABLESPACES zastępuje SYS_DATAFILES i bezpośrednio odzwierciedla stan w systemie plików. W tymczasowym obszarze tabel dostępna jest obsługa leniwego zapisu. Zakończono obsługę starego algorytmu sumy kontrolnej, który został zachowany ze względu na zgodność z MariaDB 5.5.
  • W systemie replikacji zwiększono wielkość wartości parametru master_host z 60 do 255 znaków, a master_user do 128. Dodano zmienną binlog_expire_logs_sekundy umożliwiającą skonfigurowanie czasu wygaśnięcia logu binarnego w sekundach (poprzednio czas resetu wynosił określane tylko w dniach poprzez zmienną wygaśnięcia_logs_days).
  • Mechanizm synchronicznej replikacji wielu wzorców Galera implementuje zmienną wsrep_mode w celu skonfigurowania parametrów API WSREP (Write Set REPlication). Zezwolono na konwersję Galery z komunikacji nieszyfrowanej na TLS bez zatrzymywania klastra.
  • Zaimplementowano schemat sys-schema, który zawiera zbiór widoków, funkcji i procedur służących do analizy operacji na bazach danych.
  • Dodano tabele usług do analizy wydajności replikacji.
  • Do zestawu tabel informacyjnych dodano widoki INFORMATION_SCHEMA.KEYWORDS i INFORMATION_SCHEMA.SQL_FUNCTIONS, wyświetlające listę dostępnych słów kluczowych i funkcji.
  • Repozytoria TokuDB i CassandraSE zostały usunięte.
  • Kodowanie utf8 zostało przeniesione z czterobajtowej reprezentacji utf8mb4 (U+0000..U+10FFFF) na trzybajtową utf8mb3 (obejmuje zakres Unicode U+0000..U+FFFF).
  • Dodano obsługę aktywacji gniazd w systemied.
  • Wtyczka GSSAPI dodała obsługę nazw grup Active Directory i identyfikatorów SID.
  • Dodano sprawdzanie obecności pliku konfiguracyjnego $MARIADB_HOME/my.cnf oprócz $MYSQL_HOME/my.cnf.
  • Zaimplementowano nowe zmienne systemowe binlog_expire_logs_sekundy, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode i Innodb_buffer_pool_pages_lru_freed.

Źródło: opennet.ru

Dodaj komentarz