MariaDB Server 10.5 ist eine frische, neue und stabile Version von MariaDB, die am 24. Juni 2020 veröffentlicht wurde. Werfen wir einen Blick auf die Funktionen, die sie uns bringen wird.
Mehr granulare Privilegien
Mit MariaDB 10.5 kommen einige Änderungen bezüglich der Privilegien. Hauptsächlich wurde das SUPER-Privileg in mehrere neue Privilegien aufgeteilt, die es ermöglichen, eine genauere Kontrolle darüber festzulegen, welche Aktionen für bestimmte Benutzer zulässig sind und welche nicht. Nachfolgend finden Sie eine Liste der neuen Berechtigungen, die in MariaDB 10.5 verfügbar sind:
- BINLOG-ADMIN
- BINLOG WIEDERGABE
- VERBINDUNGS-ADMIN
- VERBUNDENER ADMIN
- READ_ONLY ADMIN
- REPLICATION MASTER ADMIN
- REPLICATION SLAVE ADMIN
- BENUTZER EINSTELLEN
InnoDB-Leistungsverbesserungen
MariaDB 10.5 enthält eine Liste von Leistungsverbesserungen für InnoDB. Wichtig zu wissen ist, dass MariaDB 10.5 InnoDB von MariaDB 10.4 eingebettet hat. Es wird Leistungsänderungen und -verbesserungen geben, aber der Kern von InnoDB ist derselbe wie in MariaDB 10.4. Es ist sehr interessant zu sehen, wie sich der von MariaDB eingeschlagene Weg in Bezug auf die Performance auswirken wird. Einerseits ermöglicht das Festhalten an der alten Version schnellere Release-Zyklen für MariaDB – die Portierung einer völlig neuen InnoDB auf MariaDB wäre eine ziemliche Herausforderung und, seien wir ehrlich, möglicherweise nicht wirklich machbar. Bitte beachten Sie, dass MariaDB immer mehr inkompatibel mit dem Upstream wird. Es ist eine Weile her seit dem letzten Build, wo Sie einfach Binärdateien austauschen konnten und alles ohne Probleme funktionierte.
MariaDB hat eine Reihe von Funktionen wie Verschlüsselung oder Komprimierung entwickelt, wodurch diese Implementierungen nicht kompatibel sind. Andererseits hat die neue InnoDB eine deutlich bessere Leistung als MariaDB 10.4 gezeigt. Viele Codezeilen wurden geschrieben (und viele Codezeilen wurden entfernt), um es skalierbarer als die vorherige Version zu machen. Es wird sehr interessant sein zu sehen, ob MariaDB 10.5 in der Lage sein wird, seine Konkurrenten zu übertreffen.
Wir werden nicht auf Details eingehen, da Sie dies auf der MariaDB-Website finden, wir möchten einige der Änderungen erwähnen. InnoDB-Redo-Protokolle wurden überarbeitet, um sie effizienter zu machen. Der InnoDB-Pufferpool wurde auch dahingehend verbessert, dass die Option zum Erstellen mehrerer Pufferpools entfernt wurde, da sie nicht mehr benötigt wird – Leistungsprobleme, die behoben werden sollten, wurden bereits in 10.5 behoben, sodass diese Option nicht mehr erforderlich ist.
Was auch wichtig zu beachten ist, ist, dass InnoDB in 10.5 aufgrund der Änderungen nicht mit InnoDB in 10.4 kompatibel sein wird. Das Upgrade erfolgt nur in eine Richtung, Sie sollten Ihren Upgrade-Prozess entsprechend planen.
Volle GTID-Unterstützung für Galera-Cluster
Galera Cluster kommt in MariaDB 10.5 mit voller GTID-Unterstützung. Dadurch sollte das Mischen von Galera-Cluster und asynchroner Replikation nahtloser und weniger problematisch werden.
Weitere Metadaten für Replikation und Binärprotokolle
Apropos Replikation:MariaDB 10.5 hat verbesserte Binärlog-Metadaten. Es enthält weitere Informationen zu den replizierten Daten:
- Vorzeichen von numerischen Spalten
- Zeichensatz von Zeichenspalten und Binärspalten
- Spaltenname
- String-Wert von SET-Spalten
- String-Wert von ENUM-Spalten
- Primärschlüssel
- Zeichensatz von SET-Spalten und ENUM-Spalten
- Geometrietyp
Dies sollte helfen, Replikationsprobleme zu vermeiden, wenn auf dem Master und dem Slave unterschiedliche Schemas vorhanden sind.
Syntax
In MariaDB 10.5 wurden mehrere Änderungen in der SQL-Syntax eingeführt. INTERSECT ermöglicht es uns, eine Abfrage zu schreiben, die zu Zeilen führt, die von zwei SELECT-Anweisungen zurückgegeben werden. In MariaDB 10.5 wurde INTERSECT ALL hinzugefügt, was es ermöglicht, eine Ergebnismenge mit doppelten Werten zurückzugeben. Ebenso wurde EXCEPT erweitert, um EXCEPT ALL zu ermöglichen.
Es wurden einige Änderungen an der ALTER-Syntax vorgenommen - Sie können jetzt Spalten mit ALTER TABLE … RENAME COLUMN umbenennen. Es ist auch möglich, den Index mit der ALTER TABLE … RENAME KEY-Syntax umzubenennen. Was ziemlich wichtig ist, sowohl ALTER TABLE als auch RENAME TABLE haben eine Unterstützung für IF EXISTS erhalten, dies wird definitiv bei der Handhabung der Replikation helfen.
Aktualisierungen des Leistungsschemas zur Anpassung an MySQL 5.7
Performance-Schema-Tabellen wurden aktualisiert, sodass sie dem Performance-Schema von MySQL 5.7 ebenbürtig sind. Dies bedeutet Änderungen in der Instrumentierung in Bezug auf Speicher, Metadatensperren, vorbereitete Anweisungen, gespeicherte Prozeduren, Sperren, Transaktionen und Benutzervariablen.
Binärdateien namens mariadb
Zu guter Letzt wurden die Binärdateien von „mysql“ auf „mariadb“ geändert. Die alte Namenskonvention kann jedoch weiterhin verwendet werden, um die Kompatibilität mit bestehenden Skripten und Tools zu wahren.
Darüber hinaus wurden mehrere andere Änderungen eingeführt. JSON-Array- und Objektaggregationsfunktion, verbesserte Instrumentierung für den Verbindungspool, Verbesserungen im Abfrageoptimierer oder Migration auf eine neue Version der Bibliothek für reguläre Ausdrücke. Die Integration mit S3 wurde ebenfalls eingeführt – Sie können Daten aus S3-Buckets aus MariaDB 10.5 heraus lesen.
Wir sind gespannt, wie diese neue MariaDB-Version in Produktionsumgebungen aussehen wird. Wenn Sie daran interessiert sind, es auszuprobieren, finden Sie Migrationsanweisungen auf der MariaDB-Website