Nach einem Jahr der Entwicklung und sechs vorhergehenden Versionen ist dies die erste stabile Veröffentlichung des neuen Branches der Datenbanksoftware , der als Abspaltung von MySQL entwickelt wurde, die abwärtskompatibel bleibt und die Integration zusätzlicher Speichermotoren und erweiterte Funktionen auszeichnet. Die Unterstützung für diesen Branch wird für 5 Jahre bis Juni 2024 gewährleistet.
Die Weiterentwicklung von MariaDB wird von der unabhängigen Organisation MariaDB Foundation geleitet, die einen völlig offenen und transparenten Entwicklungsprozess verfolgt, der nicht von einzelnen Anbietern abhängig 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 , und .
Schlüssige :
- Die Technologie der synchronen Multi-Master-Replikation , die eine active-active multi-master Topologie ermöglicht, die sowohl Lese- als auch Schreibzugriffe für jeden Knoten zulässt. Bei synchroner Replikation enthalten alle Knoten stets aktuelle Daten, d.h. es ist garantiert, dass keine Transaktionen verloren gehen, da eine Transaktion erst nach der Verbreitung der Daten über alle Knoten protokolliert wird. Die Replikation erfolgt im parallelen Modus, auf Zeilenebene, wobei nur die Informationen über Änderungen übertragen werden;
- In unixähnlichen Systemen ist standardmäßig das Authentifizierung Plug-in aktiv , das es ermöglicht, die im System vorhandenen Konten zu nutzen, um über einen lokalen unix-socket auf die Datenbank zuzugreifen;
- Hinzugefügt bestimmung der Lebensdauer des Benutzerpassworts, nach deren Ablauf das Passwort als abgelaufen markiert wird. Um die Gültigkeitsdauer des Passworts bei den „CREATE USER“ und „ALTER USER“ Operationen festzulegen, wurde der Ausdruck „PASSWORD EXPIRE INTERVAL N DAY“ hinzugefügt;
- Unterstützung für von Datenbankbenutzern durch den Ausdruck „ACCOUNT LOCK“ in den Operationen „CREATE USER“ und „ALTER USER“;
- Die Überprüfung von Berechtigungen wurde in Konfigurationen mit einer hohen Anzahl an Benutzern oder Zugriffsregeln erheblich beschleunigt;
- Die Verwendung der Tabellen mysql.user und mysql.host. Zur Speicherung von Benutzerkonten und globalen Berechtigungen wird jetzt die Tabelle mysql.global_priv verwendet;
- In Authentifizierung Unterstützung des Ausdrucks „SET PASSWORD“;
- die Möglichkeit, mehr als ein Authentifizierungsplugin für jedes Benutzerkonto zu verwenden, was nützlich sein kann, um einen schrittweisen Übergang der Benutzer zu einem neuen Plugin zu ermöglichen. . Bei der Erstellung des Benutzers root@localhost wird standardmäßig bei mysql_install_db jetzt mit zwei Authentifizierungsplugins – unix_socket und mysql_native_password – gearbeitet;
- Im InnoDB-Speicher wurde die Möglichkeit der sofortigen Löschung von Spalten (ALTER TABLE … DROP COLUMN … ALGORITHM=INSTANT) und der Änderung der Spaltenreihenfolge implementiert. Das Volumen des anfänglichen Rückrollprotokolls (redo log) wurde reduziert. Unterstützung für die Schlüsselrotation für innodb_encrypt_log wurde hinzugefügt. Ein Algorithmus zur Überprüfung von Prüfziffern wurde implementiert.
innodb_checksum_algorithm=full_crc32. Es wurde eine sofortige Erweiterung des VARCHAR-Typs und eine Änderung der Textkodierung für nicht indizierte Spalten sichergestellt; - Der Optimierer wurde verbessert. Eine Möglichkeit zur Verfolgung des Optimierers wurde hinzugefügt, die über die Systemvariable aktiviert werden kann. . Standardmäßig statistische Erfassung, unabhängig von den Speicher-Engines.
Es wurden zwei neue Modi für use_stat_tables eingeführt – COMPLEMENTARY_FOR_QUERIES und PREFERABLY_FOR_QUERIES. Der Modus optimize_join_buffer_size ist aktiviert. Neue rowid_filter und condition_pushdown_from_having; - Die Unterstützung für systemversionierte Tabellen wurde erweitert, die nicht nur die aktuelle Datenaufnahme speichern, sondern auch Informationen über alle vorherigen Änderungen enthalten. mit Zeitbereichen;
- Ein neuer Befehl „FLUSH SSL“ wurde hinzugefügt, um SSL-Zertifikate ohne einen Serverneustart neu zu laden;
- Bei den Operationen „INSTALL PLUGIN“, „UNINSTALL PLUGIN“ und „UNINSTALL SONAME“ wurde die Unterstützung für die Ausdrücke „IF NOT EXISTS“ und „IF EXISTS“ hinzugefügt;
- Es wurden absturzsichere systemische Tabellen vorgeschlagen, für deren Speicherung die Engine ;
- Umstellung auf die Verwendung des C++11-Standards (atomare Operationen wurden aktiviert);
- Die Leistungsfähigkeit der Locale-Attribute „Collation“ für Unicode, die Sortierregeln und passende Methoden unter Berücksichtigung der Symbolbedeutung festlegen, wurde erheblich gesteigert;
- Plugin zur Definition eigener Feldtypen;
- Unterstützung für Fenster- (User-Defined Functions) hinzugefügt;
- In der Operation „FLUSH TABLES“ der Modus „BACKUP LOCK“, der während der Sicherung von DB-Dateien verwendet werden kann;
- Unterstützung von Serverbefehlen, die mit dem Namen mariadb beginnen, als Alternativen zu den Befehlen, die mit „mysql“ beginnen (z. B. mariadump anstelle von mysqldump).
Quelle: opennet.ru
