Stabiler Release der DBMS MariaDB 10.5

Nach einem Jahr Entwicklung und vier Vorabversionen vorbereitet der erste stabile Release des neuen Zweigs der DBMS MariaDB 10.4, im Rahmen dessen ein Fork von MySQL entwickelt wird, der die AbwĂ€rtskompatibilitĂ€t wahrt und sich unterscheidet durch die Integration zusĂ€tzlicher Storage-Engines und erweiterter Funktionen. Die UnterstĂŒtzung des neuen Zweigs wird fĂŒnf Jahre lang bis Juni 2025 bereitgestellt.

Die Entwicklung von MariaDB wird von der unabhĂ€ngigen Organisation MariaDB Foundation in Übereinstimmung mit einem vollstĂ€ndig offenen und transparenten Entwicklungsprozess geleitet, der unabhĂ€ngig von einzelnen Anbietern ist. MariaDB wird anstelle von MySQL in vielen Linux-Distributionen (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) bereitgestellt und ist in großen Projekten wie Wikipedia, Google Cloud SQL und Nimbuzz.

Hauptmerkmale Verbesserungen MariaDB 10.5:

  • Eine Storage-Engine wurde hinzugefĂŒgt S3, die es ermöglicht, MariaDB-Tabellen in Amazon S3 oder in jedem anderen öffentlichen oder privaten Cloud-Speicher, der das S3-API unterstĂŒtzt, zu hosten. Sowohl regulĂ€re als auch partitionierte Tabellen werden in S3 unterstĂŒtzt. Bei der Ablage von partitionierten Tabellen in der Cloud können diese direkt von einem anderen Server mit Zugriff auf den S3-Speicher verwendet werden.
  • Eine Storage-Engine wurde hinzugefĂŒgt ColumnStore, der Daten spaltenbasiert speichert und massiv-parallele verteilte Architekturen verwendet. Die Engine basiert auf den Entwicklungen des MySQL-Speichers InfiniDB und dient der Organisation der Verarbeitung und AusfĂŒhrung analytischer Abfragen ĂŒber große Datenmengen (Data Warehouse).
    ColumnStore speichert Daten nicht zeilenweise, sondern spaltenweise, was die AusfĂŒhrung von Gruppierungen ĂŒber große Datenbanktabellen mit Petabytes an Daten optimiert. Lineares Scaling, Datenspeicherung in komprimierter Form sowie vertikale und horizontale Partitionierung werden unterstĂŒtzt, ebenso wie effiziente AusfĂŒhrung konkurrierender Abfragen.
  • Alle ausfĂŒhrbaren Dateien, die mit dem Wort „mysql“ beginnen, wurden umbenannt und verwenden das Wort „mariadb“. Alte Namen wurden in Form von symbolischen Links beibehalten.
  • Ein neuer Datentyp wurde hinzugefĂŒgt INET6 zur Speicherung von IPv6-Adressen.
  • Es wurden Arbeiten zur Aufteilung der Berechtigungen in kleinere Komponenten ausgefĂŒhrt. Anstelle der allgemeinen Berechtigung SUPER wurde eine Reihe von selektiven Berechtigungen vorgeschlagen: „BINLOG ADMIN“,
    „BINLOG REPLAY“,
    „CONNECTION ADMIN“,
    „FEDERATED ADMIN“,
    „READ_ONLY ADMIN“,
    „REPLICATION MASTER ADMIN“,
    „REPLICATION SLAVE ADMIN“ und
    «BENUTZER FESTLEGEN».
  • Das Privileg „REPLICATION CLIENT“ wurde in „BINLOG MONITOR“ umbenannt, und der Ausdruck „SHOW MASTER STATUS“ wurde in „SHOW BINLOG STATUS“ geĂ€ndert. Die Umbenennung prĂ€zisiert das Verhalten und steht nicht im Zusammenhang mit Political Correctness; das Projekt verweigert sich den Begriffen master/slave und hat sogar neue Privilegien „MASTER ADMIN“ und „SLAVE ADMIN“ hinzugefĂŒgt. Zudem wurde dem SQL-Ausdruck ein neuer SchlĂŒssel „REPLICA“ hinzugefĂŒgt, der ein Synonym fĂŒr „SLAVE“ ist.
  • FĂŒr einige AusdrĂŒcke wurden die erforderlichen Privilegien fĂŒr ihre AusfĂŒhrung geĂ€ndert. „SHOW BINLOG EVENTS“ erfordert jetzt die Berechtigung „BINLOG MONITOR“ anstelle von „REPLICATION SLAVE“, „SHOW SLAVE HOSTS“ erfordert das Privileg „REPLICATION MASTER ADMIN“ statt „REPLICATION SLAVE“, „SHOW SLAVE STATUS“ erfordert die Berechtigungen „REPLICATION SLAVE ADMIN“ oder „SUPER“ anstelle von „REPLICATION CLIENT“, und „SHOW RELAYLOG EVENTS“ erfordert die Berechtigung „REPLICATION SLAVE ADMIN“ statt „REPLICATION SLAVE“.
  • Konstruktionen wurden hinzugefĂŒgt „INSERT 
 RETURNING» und „REPLACE 
 RETURNING«, die eine Liste der eingefĂŒgten/ersetzten Zeilen in einer Form zurĂŒckgeben, als ob die Werte durch die Verwendung des Ausdrucks SELECT zurĂŒckgegeben wurden (analog zu „DELETE 
 RETURNING“).

    INSERT INTO t2 VALUES (1, 'Hund'), (2, 'Löwe'), (3, 'Tiger'), (4, 'Leopard')
    RETURNING id2, id2+id2, id2&id2, id2||id2;
    +——+———+———+———-+
    | id2 | id2+id2 | id2&id2 | id2||id2 |
    +——+———+———+———-+
    | 1 | 2 | 1 | 1 |
    | 2 | 4 | 2 | 1 |
    | 3 | 6 | 3 | 1 |
    | 4 | 8 | 4 | 1 |
    +——+———+———+———-+

  • AusdrĂŒcke wurden hinzugefĂŒgt „EXCEPT ALL» und „INTERSECT ALL» zum Ausschließen/HinzufĂŒgen von Ergebnissen mit einer bestimmten Wertegruppe.
  • Es besteht die Möglichkeit, Kommentare innerhalb der Blöcke „CREATE DATABASE“ und „ALTER DATABASE“ anzugeben.
  • Konstruktionen zum Umbenennen von Indizes und Spalten wurden hinzugefĂŒgt „ALTER TABLE 
 RENAME INDEX / KEY» und „ALTER TABLE 
 RENAME COLUMN«.
  • In der Operation „ALTER TABLE“ und „RENAME TABLE“ wurde die UnterstĂŒtzung der Bedingung „IF EXISTS“ hinzugefĂŒgt, um die Operation nur durchzufĂŒhren, wenn die Tabelle existiert;
  • FĂŒr Indizes in „CREATE TABLE“ wurde das Attribut „VISIBLE«.
  • Der Ausdruck „CYCLE“ wurde hinzugefĂŒgt, um rekursive Zyklen zu identifizieren. CTE.
  • Funktionen wurden hinzugefĂŒgt JSON_ARRAYAGG und JSON_OBJECTAGG zur RĂŒckgabe eines Arrays oder Objekts von JSON mit Werten der angegebenen Spalte.
  • Es wurden systeminformative Tabellen (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS und THREAD_POOL_WAITS) fĂŒr den Thread-Pool (thread_pool) hinzugefĂŒgt.
  • Der Ausdruck ANALYZE wurde um die Anzeige der Zeit erweitert, die fĂŒr die ÜberprĂŒfung des WHERE-Blocks und die DurchfĂŒhrung unterstĂŒtzender Operationen benötigt wird.
  • Im Optimierer der Bereichsverarbeitung wurden die Merkmale „IS NOT NULL“ berĂŒcksichtigt.
  • Die GrĂ¶ĂŸe der temporĂ€ren Dateien, die bei der Sortierung mit den Typen VARCHAR, CHAR und BLOB verwendet werden, wurde erheblich reduziert.
  • Im binĂ€re Logdatei, das zur Organisation der Replikation verwendet wird, wurden neue Felder mit Metadaten hinzugefĂŒgt, einschließlich Primary Key, Column Name, Character Set und Geometry Type. In dem Tool mariadb-binlog und den Befehlen „SHOW BINLOG EVENTS“ und „SHOW RELAYLOG EVENTS“ wird die Anzeige der Replikationsflags sichergestellt.
  • Konstruktion DROP TABLE jetzt zuverlĂ€ssig löscht Tabellen, die im Speichermotor verbleiben, auch wenn die „.frm“- oder „.par“-Dateien fehlen.
  • Eine hardwarebeschleunigte Version der Funktion crc32() wurde fĂŒr die CPU AMD64, ARMv8 und POWER 8 implementiert.
  • Einige Standardwerte wurden geĂ€ndert. Der Parameter innodb_encryption_threads wurde auf 255 erhöht, und der Wert von max_sort_length wurde von 4 auf 8 erhöht.
  • Zahlreiche Leistungsoptimierungen fĂŒr den InnoDB-Speichermotor wurden eingefĂŒhrt.
  • Im Mechanismus der synchronen Multi-Master-Replikation Galera wurde die vollstĂ€ndige UnterstĂŒtzung fĂŒr GTID (Global Transaction ID), eindeutige Transaktionsidentifikatoren fĂŒr alle Knoten des Clusters, hinzugefĂŒgt.
  • Der Übergang zur neuen Version der Bibliothek PCRE2 (Perl Compatible Regular Expressions) wurde anstelle der klassischen PCRE 8.x-Serie vorgenommen.
  • Neue Versionen von Bindings zur Anbindung an die Datenbanksysteme MariaDB und MySQL aus Programmen in Python und C wurden angeboten: MariaDB Connector/Python 1.0.0 und MariaDB Connector/C 3.1.9. Die Bindings fĂŒr Python entsprechen dem Python DB API 2.0, sind in C geschrieben und verwenden die Bibliothek Connector/C fĂŒr die Verbindung zum Server.

Quelle: opennet.ru

60GB SSD 8Gb DDR4