Od stycznia 2022 r. ClusterControl v1.9.2 wprowadził obsługę najnowszej wersji MariaDB — wersji 10.6. MariaDB 10.6, wydana w lipcu 2021 r., będzie obsługiwana przez następne cztery lata, a dokładnie do lipca 2026 r.
W tym poście przedstawimy najważniejsze funkcje MariaDB 10.6.
Atomowy DDL (język definicji danych)
Pierwszą funkcją, którą omówimy, jest Atomic DDL. Z definicji „atomowy” oznacza, że operacja się powiodła i została zarejestrowana w dziennikach binarnych lub została całkowicie odwrócona. Począwszy od MariaDB 10.6.1, MariaDB poprawiła czytelność operacji DDL, czyniąc większość z nich atomowymi, podczas gdy reszta jest bezpieczna w przypadku awarii, nawet jeśli serwer ulegnie awarii podczas wykonywania dowolnej operacji. Zarówno Atomic, jak i Crash-safe zostały opracowane do pracy ze wszystkimi silnikami pamięci masowej, z wyjątkiem silnika pamięci masowej S3 i silnika partycjonowania, nad którymi wciąż trwają prace.
W tej wersji polecenia ALTER TABLE, RENAME TABLE, CREATE TABLE, DROP TABLE, DROP DATABASE i powiązane z nimi instrukcje DDL są teraz atomowe. Pełną listę innych operacji Atomic DDL można znaleźć tutaj. Wspaniałą rzeczą w nowej implementacji atomowej i odpornej na awarie jest to, że serwer MariaDB stał się znacznie bardziej stabilny, nie wspominając o niezawodności, nawet w niestabilnych środowiskach.
Składnia SQL
Jeśli chodzi o kategorię Składnia SQL, dodano kilka nowych funkcji. Pierwszy, który zobaczymy, to:
WYBIERZ... PRZESUNIĘCIE... POBIERZ
Klauzula OFFSET pozwoli nam zwrócić tylko te segmenty zestawu wyników, które pojawiają się po zdefiniowanym przesunięciu. Z drugiej strony klauzula FETCH ogranicza liczbę zwracanych wierszy. Niezależnie od tego, czy jest to ROWS w liczbie pojedynczej, czy w liczbie mnogiej, oba mogą być używane po klauzulach OFFSET i FETCH, ponieważ nie mają wpływu na wyniki.
POMIJANIE ZABLOKOWANE
Być może niektórzy z nas znają tę składnię, ponieważ została ona zaimportowana i zaadaptowana z MySQL. Dzięki SKIP LOCKED możemy pominąć wszystkie zablokowane ROWS podczas wykonywania operacji SELECT lub UPDATE. Jest to zdecydowanie przydatna funkcja, szczególnie w przypadku aplikacji, które pozwalają wielu użytkownikom rezerwować ograniczone zasoby, takie jak pokoje hotelowe, miejsca w samolocie, bilety na koncerty itp.
Ignorowane indeksy
Ignorowane indeksy są podobne do funkcji „niewidocznych indeksów” w MySQL 8. Wszelkie indeksy, które są widoczne i utrzymywane, ale nie są używane przez optymalizator, mogą być zdefiniowane jako Ignorowane indeksy. Może to być bardzo przydatne podczas testowania, aby zobaczyć, które powierzchnie, jeśli upuścimy indeks, zanim rzeczywiście go upuścimy. W przypadku pojawienia się jakiegokolwiek problemu, możemy go ponownie włączyć natychmiast (poprzez zaznaczenie indeksu IGNORED/NOT IGNORED).
JSON_TABLE
Ta funkcja tabelowa jest również importowana z MySQL, gdzie może przekształcać dane lub dokumenty JSON do postaci relacyjnej. W tej wersji MariaDB włączyła widok tabeli w danych JSON przechowywanych w bazie danych MariaDB, a przy użyciu SQL wszystkie zapytania będą zwracane jako zwykła tabela.
Zgodność z Oracle
MariaDB była pionierem w świecie baz danych o otwartym kodzie źródłowym, który dodał zgodność z PL/SQL. Począwszy od MariaDB 10.3, dodano wiele składni i funkcji, aby ułatwić migrację z Oracle do MariaDB. W przypadku MariaDB 10.6 wprowadzono następujące funkcje, aby MariaDB była bardziej kompatybilna z PL/SQL:
-
Anonimowe podzapytania w klauzuli FROM (brak klauzuli AS) są dozwolone w trybie ORACLE
-
Dodano ADD_MONTHS()
-
funkcja do dodawania/odejmowania miesięcy od podanej wartości daty.
-
-
Dodano TO_CHAR()
-
obsługuje NUMBER, DATE, DATETIME, TIMESTAMP itp. jako parametry i zwraca sformatowaną/przekonwertowaną wartość TEKSTOWA
-
-
Dodano SYS_GUID()
-
podobna do funkcji UUID w MariaDB
-
-
MINUS jest mapowany na OPRÓCZ w UNION
-
Funkcja ROWNUM zwraca bieżącą liczbę zaakceptowanych wierszy w bieżącym kontekście
Replikacja, Galera i Binlog
W tej kategorii MariaDB wprowadziła binlog_expire_logs_seconds jako formę aliasu dla wygasających_logs_days, co oznacza, że wszelkie zmiany w jednym z nich zostaną automatycznie odzwierciedlone w drugim. Poza tym binlog_expire_logs_seconds akceptuje precyzję 1/1000000 dni. Jest to wyjątkowo przydatne w przypadku dużych zapisów na dysku głównym oraz gdy środowisko ma ograniczoną przestrzeń dyskową.
Ponadto MariaDB wprowadziła również zmienne systemowe wsrep_mode. Ta zmienna włącza funkcje WSREP, które nie są częścią domyślnego zachowania, takie jak BINLOG_ROW_FORMAT_ONLY, DISALLOW_LOCAL_GTID, REQUIRED_PRIMARY_KEY, REPLICATE_ARIA, REPLICATE_MYISAM, STRICT_REPLICATION.
Schemat systemowy
Następną funkcją jest sys_schema, zbiór widoków, funkcji i procedur. Nie ma wątpliwości, że sys_schema pomaga administratorom baz danych i programistom na wiele sposobów podczas interpretacji danych; można z niego uzyskać wiele informacji i informacji diagnostycznych. sys_schema służy nie tylko do rozwiązywania problemów z wydajnością, ale także pomaga w efektywnym zarządzaniu zasobami. Na szczęście jest to teraz dostępne w MariaDB 10.6.
Schemat informacji
Nowo dodaną funkcją w tej kategorii są INFORMATION_SCHEMA.KEYWORDS i INFORMATION_SCHEMA.SQL_FUNCTIONS. Tabela KEYWORDS zawiera około 694 wierszy słów kluczowych MariaDB, podczas gdy tabela SQL_FUNCTIONS zawiera około 234 wiersze funkcji MariaDB. Dzięki tym dwóm tabelom możemy teraz uzyskać powiązany z nimi schemat informacyjny w razie potrzeby.
Zawijanie
Oprócz tych nowych funkcji wprowadzonych w MariaDB 10.6, wprowadzono wiele innych ulepszeń, które nie zostały omówione w tym poście. Chociaż wiele z tych funkcji zostało zaczerpniętych z MySQL, te dodatki są nadal bardzo korzystne dla użytkowników.
Jak wcześniej wspomniano, ClusterControl obsługuje obecnie MariaDB 10.6. Dzięki ClusterControl możesz łatwo i bezstresowo uaktualnić do najnowszej wersji technologii. Jeśli nie znasz jeszcze ClusterControl, możesz wypróbować go bezpłatnie przez 30 dni — bez CC.
Aby być na bieżąco ze wszystkimi najnowszymi wiadomościami i najlepszymi praktykami dotyczącymi najpopularniejszych baz danych typu open source, nie zapomnij śledzić nas na Twitterze i LinkedIn oraz subskrybować nasz biuletyn, aby otrzymywać aktualizacje.