Après 6 mois de développement, la première version stable de la nouvelle branche de la base de données MariaDB 10.7 (10.7.2) a été publiée. Cette version représente une dérivation de MySQL, préservant la compatibilité inverse et se distinguant par l'intégration de moteurs de stockage supplémentaires et de fonctionnalités étendues. Le développement de MariaDB est supervisé par l'organisation indépendante MariaDB Foundation, suivant un processus de développement totalement ouvert et transparent, sans dépendance à des fournisseurs spécifiques. MariaDB remplace MySQL dans de nombreuses distributions Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) et est intégré dans de grands projets tels que Wikipedia, Google Cloud SQL et Nimbuzz.
Simultanément, la première version de test de la prochaine version majeure MariaDB 10.8.1 et des mises à jour correctives 10.6.6, 10.5.14, 10.4.23, 10.3.33 et 10.2.42 ont été formées. La version 10.7.2 est devenue la première après le passage du projet à un nouveau modèle de publication, impliquant une réduction de la durée de support de 5 ans à 1 an et un passage à la publication de versions majeures non pas une fois par an, mais une fois par trimestre.
Améliorations clés de MariaDB 10.7 :
- Ajout d'un nouveau type de données UUID, destiné à stocker des identifiants uniques de 128 bits (Identifiant Universellement Unique).
- Introduction de nouvelles fonctions pour le traitement de données au format JSON : JSON_EQUALS() pour comparer l'identité de deux documents JSON et JSON_NORMALIZE() pour transformer des objets JSON en une forme adaptée à des opérations de comparaison (effectue un tri des clés et supprime les espaces).
- Ajout de la fonction NATURAL_SORT_KEY() pour trier les chaînes en tenant compte des valeurs numériques (par exemple, la chaîne « v10 » sera classée après la chaîne « v9 »).
- Ajout de la fonction SFORMAT() pour un formatage personnalisé des chaînes — une chaîne contenant des commandes de formatage et une liste de valeurs de substitution sont fournies en entrée (par exemple, 'SFORMAT("La réponse est {}.", 42)').
- Amélioration de la notification des erreurs dans les requêtes INSERT ajoutant des données sur plusieurs lignes (la commande GET DIAGNOSTICS affiche maintenant la propriété ROW_NUMBER, indiquant le numéro de la ligne contenant l'erreur).
- Un nouveau plugin de vérification des mots de passe 'password_reuse_check' a été inclus, permettant de limiter la réutilisation des mots de passe par un utilisateur (vérifie que le nouveau mot de passe ne correspond pas aux mots de passe utilisés pendant la période spécifiée par le paramètre 'password_reuse_check_interval').
- Ajout du support pour les instructions «ALTER TABLE … CONVERT PARTITION .. TO TABLE» et «ALTER TABLE … CONVERT TABLE … TO PARTITION» pour convertir une partition en table et vice versa.
- Une option «—as-of» a été ajoutée à l’outil mariadb-dump pour effectuer un dump qui correspond à un état particulier d’une table versionnée.
- Pour MariaDB Galera Cluster, de nouveaux états ont été implémentés dans le PROCESSLIST : «waiting to execute in isolation», «waiting for TOI DDL», «waiting for flow control» et «waiting for certification».
- Un nouveau paramètre «reorder» a été ajouté à l'optimiseur. Pour les chaînes multibyte, la performance de la correspondance prenant en compte le sens des caractères dans les opérations de plages ASCII a été améliorée.
- Dans le stockage InnoDB, la performance des opérations d'insertion de données en mode batch, ainsi que le tri préalable et la création d'index, a été améliorée.
- Cinque vulnérabilités ont été corrigées, dont les détails ne sont pas encore dévoilés : CVE-2022-24052, CVE-2022-24051, CVE-2022-24050, CVE-2022-24048, CVE-2021-46659.
- Parmi les changements dans la version test de MariaDB 10.8.1, on note l'implémentation d'index triés par ordre décroissant, ce qui permet d'améliorer significativement les performances des opérations ORDER BY lors des sélections en ordre inverse. Des spécificateurs IN, OUT, INOUT et IN OUT ont été ajoutés pour les fonctions stockées. Dans InnoDB, le nombre d'opérations d'écriture lors de la tenue du journal des opérations de reprise (redo) a été réduit.
Source : opennet.ru
