Die Veröffentlichung von MariaDB 11.8.2 wurde vorgestellt, die als erstes stabiles Release der Version 11.8 gilt. Die Version MariaDB 11.8 gehört zu den langzeitunterstützten Releases und wird mindestens 5 Jahre lang unterstützt. Gleichzeitig ist die Version MariaDB 12.0.1 verfügbar, die den Status eines Release-Kandidaten hat.
Das Projekt MariaDB entwickelt einen Fork von MySQL, der die Rückwärtskompatibilität bewahrt und sich durch die Integration zusätzlicher Speicher-Engines und erweiterter Möglichkeiten auszeichnet. Die Entwicklung von MariaDB wird von der unabhängigen Organisation MariaDB Foundation gemäß einem offenen und transparenten Entwicklungsprozess überwacht, der nicht von einzelnen Herstellern 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 Wikipedia, Google Cloud SQL und Nimbuzz implementiert.
Zu den Änderungen in der Version MariaDB 11.8 im Vergleich zur vorherigen LTS-Version 11.4 gehören:
- Die Entwicklungen des Projekts MariaDB Vector, das die Möglichkeiten für die Vektorsuche, die in maschinellen Lernsystemen gefragt ist, vorantreibt, sind integriert. Es wurde eine eingebaute Unterstützung für den Datentyp VECTOR sowie die Funktionen VEC_DISTANCE_EUCLIDEAN(), VEC_DISTANCE_COSINE() und VEC_DISTANCE() zur Berechnung der Ähnlichkeit von Vektoren realisiert, sowie die Funktionen VEC_FromText() und VEC_ToText() zur Umwandlung zwischen binärer und textlicher Darstellung von Vektoren. Darüber hinaus wurden Optimierungen für die Arbeit mit Vektoren implementiert, die SIMD-Erweiterungen von Intel-CPUs (AVX2 und AVX512), ARM und IBM Power10 nutzen. In durchgeführten Tests übertrifft die Leistung von Vektoranfragen in MariaDB die von Redis, pgvector, qdrant und weaviate.

- Das Problem des Jahres 2038 wurde gelöst. Der Grenzwert des Typs TIMESTAMP wurde von 2038 auf 2106 angehoben.
- Standardmäßig ist anstelle von latin1 die Unicode-Codierung (utf8mb4) mit vollständiger Emoji-Unterstützung eingestellt. Die Locale-Eigenschaften „Collation“, die die Regeln für die Sortierung und den Vergleich unter Berücksichtigung der Bedeutung von Zeichen definieren, wurden auf Version UCA 14.0.0 aktualisiert.
- Ein neuer Authentifizierungs-Plugin für Passwörter PARSEC (Password Authentication with Response Signed by Elliptic Curves) wurde hinzugefügt, der die Funktion PBKDF2 zur Generierung von Passwort-Hashes anwendet und Antworten mithilfe eines auf ed25519 basierenden digitalen Signaturschemas mit einem öffentlichen Schlüssel überprüft.
- Die Authentifizierung beim Zugriff auf die Datenbankmanagementsysteme von lokalen Maschinen wurde verbessert, indem ein UNIX-Socket verwendet wird.
- In mariadb-dump und mariadb-import wurde die Unterstützung für mehrfädiges Erstellen und Wiederherstellen von Backups hinzugefügt. Die Parallelisierung wird sowohl bei der Sicherung einer großen Datenbank als auch bei der gleichzeitigen Sicherung mehrerer Datenbanken angewendet.
- Die Leistung der Replikation wurde erheblich verbessert. Um die Bearbeitung sehr großer Transaktionen zu beschleunigen, wurde ein Mechanismus zur Segmentumschaltung des Binärlogs (binlog) implementiert, der ressourcenintensive Dateioperationen vermeidet. Um einen schnelleren Neustart nach Hardwareausfällen zu gewährleisten, wird ein Rollback von Transaktionen im asynchronen Modus gewährleistet. Die Einstellung „slave_replication_delay_abort_timeout“ wurde hinzugefügt, mit der Transaktionen, die die Replikation zu lange blockieren, automatisch abgebrochen werden können.
- Die Überwachungswerkzeuge wurden erweitert. In den Statistiktabellen wurden zusätzliche Spalten für die Leistungsanalyse und die Diagnose von Problemen hinzugefügt.
- Eine Tabelle USERS mit Informationen zu den Benutzern, den darauf angewendeten Einschränkungen und der Gültigkeitsdauer ihrer Passwörter wurde hinzugefügt.
- Es wurden die Befehle „FLUSH GLOBAL STATUS“, „REPAIR TABLE … FORCE“ und „SHOW CREATE SERVER“ hinzugefügt.
- Die Möglichkeit, Werte mit dem Typ ROW aus gespeicherten Prozeduren zurückzugeben, wurde hinzugefügt.
- Die Kompatibilität mit Oracle-Datenbanken bei der Arbeit mit Sequenzen wurde verbessert. Der Befehl „CREATE SEQUENCE … AS“ kann jetzt mit allen ganzzahligen Typen verwendet werden, einschließlich „BIGINT UNSIGNED“.
- Neue Funktionen zur Erzeugung von UUIDs — UUID_v7 und UUID_v4 — wurden hinzugefügt.
- Die Funktion FORMAT_BYTES zum Umwandeln von Byte-Zahlen in ein lesbares Format wurde hinzugefügt (z.B. gibt FORMAT_BYTES(1000000000) 953,67 MiB aus).
- Es wurde die Möglichkeit hinzugefügt, den Speicherplatz zu begrenzen, der für temporäre Dateien und temporäre Tabellen verwendet wird. Die Einstellungen max_tmp_session_space_usage und max_tmp_total_space_usage wurden hinzugefügt, um die Limits für einen spezifischen und alle Benutzer festzulegen.
- Im Abfrageoptimierer wurde die Verarbeitung von UPDATE/DELETE-Operationen mit einer Tabelle beschleunigt. Standardmäßig wurden Optimierungen zum Kürzen von Kodierungen auf kleinere Zeichenmengen aktiviert. Anfragen mit dem Ausdruck „SUBSTR(col, 1, n) = const_str“ wurden beschleunigt. Die Unterstützung für die Optimierung virtueller Spalten wurde hinzugefügt.
Quelle: opennet.ru

