Nach einem halben Jahr Entwicklung wurde die Veröffentlichung des plattformübergreifenden Frameworks vorbereitet

Nach einem Jahr der Entwicklung und sechs 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 Speicher-Engines und erweiterter Funktionen. Die Unterstützung der neuen Version wird fünf Jahre lang bis Juni 2024 gewährleistet.

Die Entwicklung von MariaDB wird von der unabhängigen Organisation MariaDB Foundation überwacht, die einen vollständig offenen und transparenten Entwicklungsprozess gewährleistet, 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) angeboten und ist in großen Projekten implementiert wie Wikipedia, Google Cloud SQL und Nimbuzz.

Hauptmerkmale Verbesserungen MariaDB 10.4:

  • Es wird die Technologie der synchronen Multi-Master-Replikation verwendet, Galera 4, die die Verwendung einer aktiven aktiven Multi-Master-Topologie ermöglicht, die sowohl Lese- als auch Schreibvorgänge für jeden Knoten zulässt. Bei der synchronen Replikation enthalten alle Knoten immer aktuelle Daten, d.h. es wird garantiert, dass keine Transaktionen verloren gehen, da eine Transaktion erst nach der Verbreitung der Daten auf alle Knoten festgeschrieben wird. Die Replikation erfolgt im parallelen Modus auf Zeilenebene und überträgt nur Informationen über Änderungen;
  • In Unix-ähnlichen Systemen ist standardmäßig das Authentifizierungs-Plugin unix_socket, das es ermöglicht, die im System vorhandenen Konten über einen lokalen Unix-Socket mit der Datenbank zu verbinden;
  • Hinzugefügt die Möglichkeit die Lebensdauer des Benutzerpassworts festzulegen, nach deren Ablauf das Passwort als abgelaufen markiert wird. Das Ausdruck „PASSWORD EXPIRE INTERVAL N DAY“ wurde zu den Befehlen „CREATE USER“ und „ALTER USER“ hinzugefügt, um die Gültigkeitsdauer des Passworts festzulegen;
  • Unterstützung hinzugefügt für von Sperren der Datenbankbenutzer durch den Befehl „ACCOUNT LOCK“ in den Befehlen „CREATE USER“ und „ALTER USER“;
  • Die Überprüfung der Berechtigungen wurde in Konfigurationen mit einer großen Anzahl von Benutzern oder Zugriffsregeln erheblich beschleunigt;
  • Die Nutzung der Tabellen mysql.user und mysql.host wurde eingestellt. Um Konten und globale Berechtigungen zu speichern, wird jetzt die Tabelle mysql.global_priv verwendet;
  • Im bei Authentifizierungs- Plugins hinzugefügt die Unterstützung des Befehls „SET PASSWORD“;
  • Hinzugefügt die Möglichkeit, mehr als ein Authentifizierungs-Plugin für jedes Konto zu verwenden, was hilfreich sein kann, um Benutzer schrittweise auf das Plugin ed25519zu migrieren. Beim Erstellen des Benutzers root@localhost wird nun standardmäßig beim Skript mysql_install_db zwei Authentifizierungs-Plugins aktiviert — unix_socket und mysql_native_password;
  • Im InnoDB-Speicher wurde die sofortige Löschung von Spalten (ALTER TABLE … DROP COLUMN … ALGORITHM=INSTANT) und die Änderung der Reihenfolge der Spalten implementiert. Das Volumen des anfänglichen Rückrollprotokolls (Redo-Log) wurde reduziert. Unterstützung für die Schlüsselrotation für innodb_encrypt_log hinzugefügt. Der Algorithmus zur Überprüfung von Prüfziffern wurde implementiert.
    innodb_checksum_algorithm=full_crc32. Sofortige Erweiterung des VARCHAR-Typs und Änderung der Textecodierung für unindexierte Spalten wurde sichergestellt;
  • Der Optimierer wurde verbessert. Eine Möglichkeit zur Verfolgung des Optimierers wurde hinzugefügt, die über eine Systemvariable aktiviert wird. optimizer-trace. Standardmäßig erfolgt eingeschlossen die Statistikauswertung unabhängig von den Speicher-Engines.
    Es gibt zwei neue Modi für use_stat_tables – COMPLEMENTARY_FOR_QUERIES und PREFERABLY_FOR_QUERIES. Der Modus optimize_join_buffer_size wurde aktiviert. Neue wurden hinzugefügt für das Streaming von Logs) und rowid_filter und condition_pushdown_from_having;
  • Die Unterstützung für systemseitig versionierte Tabellen, die nicht nur die aktuellen Daten beinhalten, sondern auch Informationen über alle zuvor vorgenommenen Änderungen speichern, wurde erweitert. durch Operationen mit Zeitbereichen;
  • Ein neuer Befehl „FLUSH SSL“ wurde hinzugefügt, um SSL-Zertifikate ohne Neustart des Servers neu zu laden;
  • In den Befehlen „INSTALL PLUGIN“, „UNINSTALL PLUGIN“ und „UNINSTALL SONAME“ wurde die Unterstützung für die Ausdrücke „IF NOT EXISTS“ und „IF EXISTS“ hinzugefügt;
  • Sturzsichere systemseitige Tabellen wurden vorgeschlagen, für deren Speicherung die Engine Aria;
  • auf C++11 umgestellt (es wurden atomare Operationen aktiviert);
  • Die Leistung der Locale-Eigenschaft „Collation“ für Unicode, die Regeln für die Sortierung und Vergleichsmethoden unter Berücksichtigung der Semantiken von Zeichen festlegt, wurde erheblich gesteigert;
  • Hinzugefügt ein Plugin zur Definition benutzerdefinierter Feldtypen;
  • Berücksichtigung der Unterstützung für Fenster- UDF-Funktionen (User-Defined Functions);
  • Im Befehl „FLUSH TABLES“ wurde implementiert wurde der Modus „BACKUP LOCK“ hinzugefügt, der während der Sicherung von DB-Dateien verwendet werden kann;
  • Hinzugefügt Unterstützung für servertabellenbefehle, die mit dem Namen mariadb beginnen, als Alternativen zu Befehlen, die mit „mysql“ beginnen (zum Beispiel mariadump statt mysqldump).

Quelle: opennet.ru

60GB SSD 8Gb DDR4