MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Co nowego w MariaDB 10.6

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kroki, które należy podjąć w przypadku awarii MySQL

  2. 11 funkcji do pobrania dnia, miesiąca i roku z daty w MariaDB

  3. Jak zainstalować Lighttpd z PHP, MariaDB i PhpMyAdmin w Ubuntu?

  4. Co to jest klaster MariaDB Enterprise?

  5. Zrozumienie indeksów w MySQL:część pierwsza