MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Quoi de neuf dans MariaDB Server 10.5 ?

MariaDB Server 10.5 est une version fraîche, nouvelle et stable de MariaDB qui a été publiée le 24 juin 2020. Jetons un coup d'œil aux fonctionnalités qu'elle nous apportera.

Plus de privilèges granulaires

Avec MariaDB 10.5, des changements concernant les privilèges sont à venir. Principalement, le privilège SUPER a été divisé en plusieurs nouveaux privilèges qui permettent de définir un contrôle plus granulaire sur les actions autorisées pour des utilisateurs donnés et celles qui ne le sont pas. Vous trouverez ci-dessous la liste des nouveaux privilèges disponibles dans MariaDB 10.5 :

  • ADMINISTRATEUR BINLOG
  • REPLAY BINLOG
  • ADMINISTRATEUR DE CONNEXION
  • ADMINISTRATION FÉDÉRÉE
  • READ_ONLY ADMIN
  • ADMINISTRATEUR MAITRE DE LA RÉPLICATION
  • ADMINISTRATEUR ESCLAVE DE RÉPLICATION
  • DÉFINIR L'UTILISATEUR

Améliorations des performances d'InnoDB

MariaDB 10.5 est livré avec une liste d'améliorations des performances pour InnoDB. Ce qu'il est important de savoir, c'est que MariaDB 10.5 a intégré InnoDB de MariaDB 10.4. Il y aura des modifications et des améliorations de performances, mais le cœur d'InnoDB est le même que dans MariaDB 10.4. C'est très intéressant de voir comment le chemin que MariaDB a choisi apportera en termes de performances. D'une part, s'en tenir à l'ancienne version permet des cycles de publication plus rapides pour MariaDB - le portage d'InnoDB totalement nouveau sur MariaDB serait tout un défi et, soyons honnêtes, peut ne pas être vraiment réalisable. Veuillez garder à l'esprit que MariaDB devient de plus en plus incompatible avec l'amont. Cela fait un moment depuis la dernière version où vous pouviez simplement échanger des fichiers binaires et tout fonctionnerait sans aucun problème.

MariaDB a développé son ensemble de fonctionnalités telles que le chiffrement ou la compression, rendant ces implémentations incompatibles. D'autre part, le nouvel InnoDB a montré des performances nettement meilleures que MariaDB 10.4. De nombreuses lignes de code ont été écrites (et de nombreuses lignes de code ont été supprimées) pour le rendre plus évolutif que la version précédente. Il sera très intéressant de voir si MariaDB 10.5 sera capable de surpasser ses concurrents.

Nous n'entrerons pas dans les détails car c'est ce que vous pouvez trouver sur le site Web de MariaDB, nous aimerions mentionner certains des changements. Les redo logs d'InnoDB ont fait l'objet de travaux les rendant plus efficaces. Le pool de mémoire tampon InnoDB a également été amélioré dans la mesure où l'option de création de plusieurs pools de mémoire tampon a été supprimée car elle n'est plus nécessaire - les problèmes de performances qu'il visait à résoudre avaient déjà été résolus dans la version 10.5, rendant ainsi cette option inutile.

Il est également important de garder à l'esprit qu'InnoDB dans la version 10.5 sera, en raison des modifications, incompatible avec InnoDB dans la version 10.4. La mise à niveau sera à sens unique, vous devez planifier votre processus de mise à niveau en conséquence.

Prise en charge complète du GTID pour le cluster Galera

Galera Cluster viendra dans MariaDB 10.5 avec une prise en charge complète de GTID. Cela devrait rendre le mélange de Galera Cluster et de la réplication asynchrone plus transparent et moins problématique.

Plus de métadonnées pour la réplication et les journaux binaires

Parlant de réplication, MariaDB 10.5 a amélioré les métadonnées du journal binaire. Il contient plus d'informations sur les données en cours de réplication :

  • Signature des colonnes numériques
  • Jeu de caractères des colonnes de caractères et des colonnes binaires
  • Nom de colonne
  • Valeur de chaîne des colonnes SET
  • Valeur de chaîne des colonnes ENUM
  • Clé primaire
  • Jeu de caractères des colonnes SET et des colonnes ENUM
  • Type de géométrie

Cela devrait aider à éviter les problèmes de réplication s'il existe différents schémas sur le maître et sur l'esclave.

Syntaxe

Plusieurs changements dans la syntaxe SQL ont été introduits dans MariaDB 10.5. INTERSECT nous permet d'écrire une requête qui se traduira par des lignes renvoyées par deux instructions SELECT. Dans MariaDB 10.5, INTERSECT ALL a été ajouté, ce qui permet de renvoyer un jeu de résultats avec des valeurs en double. De même, EXCEPT a été amélioré pour autoriser EXCEPT ALL.

Deux modifications ont été apportées à la syntaxe ALTER - vous pouvez désormais renommer les colonnes avec ALTER TABLE … RENAME COLUMN. Il est également possible de renommer l'index en utilisant la syntaxe ALTER TABLE … RENAME KEY. Ce qui est assez important, ALTER TABLE et RENAME TABLE ont reçu un support pour IF EXISTS, cela aidera certainement en termes de gestion de la réplication.

Mises à jour du schéma de performances pour correspondre à MySQL 5.7 

Les tables de schéma de performance ont été mises à jour afin qu'elles soient à égalité avec le schéma de performance de MySQL 5.7. Cela signifie des changements dans l'instrumentation liée à la mémoire, au verrouillage des métadonnées, aux instructions préparées, aux procédures stockées, au verrouillage, aux transactions et aux variables utilisateur.

Binaires nommés mariadb

Enfin, les binaires ont été modifiés de "mysql" à "mariadb". L'ancienne convention de nommage, cependant, peut toujours être utilisée pour maintenir la compatibilité avec les scripts et outils existants.

En plus de cela, plusieurs autres changements ont été introduits. Tableau JSON et fonction d'agrégation d'objets, instrumentation améliorée pour le pool de connexions, améliorations de l'optimiseur de requêtes ou migration vers une nouvelle version de la bibliothèque pour les expressions régulières. L'intégration avec S3 a également été introduite - vous pouvez lire les données des compartiments S3 depuis MariaDB 10.5.

Nous sommes impatients de voir à quoi ressemblera cette nouvelle version de MariaDB dans les environnements de production. Si vous souhaitez essayer, les instructions de migration sont disponibles sur le site Web de MariaDB