MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Was ist neu in MariaDB 10.6

Seit Januar 2022 bietet ClusterControl v1.9.2 Unterstützung für die neueste Version von MariaDB – Version 10.6. MariaDB 10.6, veröffentlicht im Juli 2021, wird für die nächsten vier Jahre oder genau bis Juli 2026 unterstützt.

In diesem Beitrag werden wir die wichtigsten Funktionen von MariaDB 10.6 hervorheben.

Atomic DDL (Datendefinitionssprache)

Das erste Feature, das wir behandeln werden, ist Atomic DDL. Per Definition bedeutet „atomar“, dass entweder die Operation erfolgreich ist und in den Binärprotokollen protokolliert wird oder dass sie vollständig rückgängig gemacht wird. Beginnend mit MariaDB 10.6.1 hat MariaDB die Lesbarkeit der DDL-Operationen verbessert, indem die meisten von ihnen atomar gemacht wurden, während der Rest absturzsicher ist, selbst wenn der Server während der Ausführung einer Operation abstürzt. Sowohl Atomic als auch Crash-safe wurden entwickelt, um mit allen Speicher-Engines zu funktionieren, mit Ausnahme der S3-Speicher-Engine und der Partitionierungs-Engine, an denen noch gearbeitet wird.

In dieser Version sind ALTER TABLE, RENAME TABLE, CREATE TABLE, DROP TABLE, DROP DATABASE und ihre zugehörigen DDL-Anweisungen jetzt atomar bereit. Die vollständige Liste anderer Atomic DDL-Operationen finden Sie hier. Das Tolle an der neuen atomaren und absturzsicheren Implementierung ist, dass der MariaDB-Server viel stabiler geworden ist, ganz zu schweigen von der Zuverlässigkeit, auch in instabilen Umgebungen.

SQL-Syntax

In Bezug auf die Kategorie SQL-Syntax wurden einige neue Funktionen hinzugefügt. Das erste, das wir sehen werden, ist:

AUSWÄHLEN ... VERSATZ ... HOLEN

Die OFFSET-Klausel ermöglicht es uns, nur die Segmente einer Ergebnismenge zurückzugeben, die nach einem definierten Offset eintreffen. Andererseits schränkt die FETCH-Klausel die Anzahl der zurückzugebenden Zeilen ein. Unabhängig davon, ob es sich um eine einzelne Zeile oder mehrere Zeilen handelt, können beide nach den Klauseln OFFSET und FETCH verwendet werden, da sie keinen Einfluss auf die Ergebnisse haben.

ÜBERSPRINGEN GESPERRT

Vielleicht kennen einige von uns diese Syntax, da sie von MySQL importiert und angepasst wurde. Mit SKIP LOCKED könnten wir alle gesperrten ZEILEN überspringen, wenn wir SELECT- oder UPDATE-Operationen ausführen. Dies ist definitiv eine nützliche Funktion, insbesondere für Anwendungen, bei denen mehrere Benutzer begrenzte Ressourcen wie Hotelzimmer, Flugplätze, Konzertkarten usw. buchen können. 

Ignorierte Indizes

Ignorierte Indizes ähnelt der Funktion „unsichtbare Indizes“ in MySQL 8. Alle Indizes, die sichtbar und gepflegt sind, aber nicht vom Optimierer verwendet werden, können als ignorierte Indizes definiert werden. Dies kann beim Testen sehr nützlich sein, um zu sehen, was auftaucht, wenn wir einen Index löschen, bevor wir ihn tatsächlich löschen. Falls ein Problem auftritt, können wir es sofort wieder aktivieren (indem wir den Index IGNORIERT/NICHT IGNORIERT markieren).

JSON_TABLE

Diese Tabellenfunktion wird ebenfalls aus MySQL importiert, wo sie JSON-Daten oder -Dokumente in eine relationale Form umwandeln könnte. In dieser Version ermöglicht MariaDB eine Tabellenansicht in JSON-Daten, die in der MariaDB-Datenbank gespeichert sind, und durch die Verwendung von SQL werden alle Abfragen als reguläre Tabelle zurückgegeben.

Oracle-Kompatibilität

MariaDB war der Pionier in der Open-Source-Datenbankwelt, der PL/SQL-Kompatibilität hinzufügte. Beginnend mit MariaDB 10.3 wurden viele Syntaxen und Funktionen hinzugefügt, um die Migration von Oracle zu MariaDB zu erleichtern. Für MariaDB 10.6 wurden die folgenden Funktionen eingeführt, um MariaDB PL/SQL-kompatibeler zu machen:

  • Anonyme Unterabfragen in einer FROM-Klausel (keine AS-Klausel) sind im ORACLE-Modus erlaubt

  • ADD_MONTHS() hinzugefügt 

    • Funktion zum Addieren/Subtrahieren von Monaten von einem bestimmten Datumswert.

  • TO_CHAR() hinzugefügt

    • unterstützt NUMBER, DATE, DATETIME, TIMESTAMP, etc. als Parameter und gibt einen formatierten/konvertierten TEXT-Wert zurück

  • SYS_GUID() hinzugefügt 

    • ähnlich der UUID-Funktion in MariaDB

  • MINUS wird EXCEPT in UNION zugeordnet 

  • Die
  • ROWNUM-Funktion gibt die aktuelle Anzahl akzeptierter Zeilen im aktuellen Kontext zurück 

Replikation, Galera und Binlog

In dieser Kategorie hat MariaDB binlog_expire_logs_seconds als eine Form von Alias ​​für expire_logs_days eingeführt, was bedeutet, dass alle Änderungen an einem von ihnen automatisch in den anderen widergespiegelt werden. Außerdem akzeptiert binlog_expire_logs_seconds eine Genauigkeit von 1/1000000 Tagen. Dies ist besonders nützlich bei Schreibvorgängen mit hohem Volumen auf dem Master und wenn die Umgebung über begrenzten Speicherplatz verfügt.

Darüber hinaus hat MariaDB auch die Systemvariablen wsrep_mode eingeführt. Diese Variable aktiviert WSREP-Funktionen, die nicht Teil des Standardverhaltens sind, wie BINLOG_ROW_FORMAT_ONLY, DISALLOW_LOCAL_GTID, REQUIRED_PRIMARY_KEY, REPLICATE_ARIA, REPLICATE_MYISAM, STRICT_REPLICATION.

Sys-Schema

Das nächste Feature ist sys_schema, eine Sammlung von Ansichten, Funktionen und Prozeduren. Es besteht kein Zweifel, dass sys_schema DBAs und Entwicklern bei der Interpretation von Daten in vielerlei Hinsicht hilft; viele Informationen und diagnostische Informationen konnten daraus gewonnen werden. sys_schema wird nicht nur zur Fehlerbehebung bei Leistungsproblemen verwendet, sondern unterstützt auch die effiziente Verwaltung der Ressourcen. Glücklicherweise ist dies jetzt in MariaDB 10.6 verfügbar.

Informationsschema

Die neu hinzugefügte Funktion in dieser Kategorie ist INFORMATION_SCHEMA.KEYWORDS und INFORMATION_SCHEMA.SQL_FUNCTIONS. Die KEYWORDS-Tabelle enthält etwa 694 Zeilen mit MariaDB-Schlüsselwörtern, während die SQL_FUNCTIONS-Tabelle etwa 234 Zeilen mit MariaDB-Funktionen enthält. Mit diesen beiden Tabellen können wir nun das zugehörige Informationsschema erhalten, falls wir es brauchen.

Abschluss

Zusätzlich zu diesen neuen Funktionen, die in MariaDB 10.6 eingeführt wurden, wurden viele andere Verbesserungen vorgenommen, die in diesem Beitrag nicht besprochen wurden. Obwohl viele dieser Funktionen von MySQL übernommen wurden, sind diese Ergänzungen für Benutzer immer noch sehr vorteilhaft.

Wie bereits erwähnt, unterstützt ClusterControl derzeit MariaDB 10.6. Mit ClusterControl können Sie ganz einfach stressfrei auf die neueste Technologieversion upgraden. Wenn Sie ClusterControl noch nicht kennen, können Sie es 30 Tage lang kostenlos testen – kein CC erforderlich.

Um über die neuesten Nachrichten und Best Practices für die beliebtesten Open-Source-Datenbanken auf dem Laufenden zu bleiben, vergessen Sie nicht, uns auf Twitter und LinkedIn zu folgen, und abonnieren Sie unseren Newsletter für Updates.