Nach einem Jahr der Entwicklung und sechs Vorabversionen der erste stabile Release des neuen Zweigs der DBMS , im Rahmen dessen ein Fork von MySQL entwickelt wird, der die AbwĂ€rtskompatibilitĂ€t wahrt und 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 , und .
Hauptmerkmale :
- Es wird die Technologie der synchronen Multi-Master-Replikation verwendet, , 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 , das es ermöglicht, die im System vorhandenen Konten ĂŒber einen lokalen Unix-Socket mit der Datenbank zu verbinden;
- HinzugefĂŒgt 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 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;
- 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 Plugins die UnterstĂŒtzung des Befehls âSET PASSWORDâ;
- die Möglichkeit, mehr als ein Authentifizierungs-Plugin fĂŒr jedes Konto zu verwenden, was hilfreich sein kann, um Benutzer schrittweise auf das Plugin zu 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. . StandardmĂ€Ăig erfolgt 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 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. 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 ;
- 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;
- ein Plugin zur Definition benutzerdefinierter Feldtypen;
- BerĂŒcksichtigung der UnterstĂŒtzung fĂŒr Fenster- (User-Defined Functions);
- Im Befehl âFLUSH TABLESâ wurde der Modus âBACKUP LOCKâ hinzugefĂŒgt, der wĂ€hrend der Sicherung von DB-Dateien verwendet werden kann;
- 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
