MySQL 8.0 RC1 est disponible
avec des améliorations en profondeur marquées par le support d’Unicode 9, des CTE, des fonctions Window et plus encore
L’équipe de MySQL vient d’annoncer la première release candidate de la version 8.0 de MySQL. Dans cette nouvelle version, les mainteneurs du projet expliquent que leur objectif global est de « rendre MySQL meilleur pour les applications modernes ». Sous le terme « applications modernes », il faut comprendre par là des applications orientées vers le mobile, avec un meilleur support d’Unicode et JSON.
Cette version de MySQL constitue également un nouveau point de départ. Et c’est ce que l’équipe en charge du projet a essayé de montrer en passant volontairement de la version 5.x nommée ainsi depuis 2005 à la version 8.0 « Nous avons estimé que l’utilisation d’un nouveau numéro était importante pour communiquer sur la profondeur de certains des changements de base. Sauter 6.x et 7.x était intentionnel pour éviter toute confusion avec une version alpha précédente et MySQL Cluster », ont précisé les développeurs du système de gestion de base de données relationnelle.
Dans cette version de MySQL 8.0 RC1, nous notons de prime abord une amélioration du support pour JSON. JSON est un format léger d’échange de données tiré de la notation des objets du langage JavaScript. Il permet de représenter de l’information structurée comme le permet XML par exemple. Dans cette nouvelle version de MySQL, les fonctionnalités de ce format de données ont été étendues avec l’ajout des fonctions pour vérifier la taille sur disque du type natif JSON, l’intégration de fonctions pour les objets agrégés et les tableaux et une fonction pour une mise en forme. En outre, les performances de JSON ont été également améliorées.
Une seconde amélioration importante à noter est l’amélioration de la fonctionnalité Document Store qui permet d’utiliser MySQL comme si l’on faisait du NoSQL. Une base de données NoSQL est une base de données qui fournit un mécanisme de stockage et de récupération des données différents des modèles des bases de données traditionnelles. Dans cette version 8.0 RC1 de MySQL, Document store fournit des lectures et des écritures cohérentes en plus de ses capacités d’indexation qui ont été élargies.
À côté de ces améliorations, deux autres fonctionnalités ont atterri dans cette nouvelle version à la demande des utilisateurs et sont les expressions de table communes (abrégé CTE en anglais) et les fonctions Window. Une expression de table commune, qui peut être utilisée pour créer une requête récursive, est comparable à une table dérivée, en ce sens qu’elle n’est pas stockée sous forme d’objet et dure uniquement le temps de la requête. Mais contrairement à une table dérivée, une expression CTE peut faire référence à elle-même et être référencée plusieurs fois dans la même requête. Les fonctions Window pour leur part sont semblables à des fonctions agrégées groupées qui effectuent des calculs sur un ensemble de lignes. L’avantage avec les fonctions Window est qu’elles sont extrêmement puissantes et réduisent considérablement la complexité du code.
En référence aux nouvelles orientations pour faire de MySQL une base de données de choix pour les applications modernes, le support pour la version 9 d’Unicode a été intégré à cette nouvelle version de MySQL et l’on est passé de latin1 à utf8mb4 pour ce qui concerne le jeu de caractères par défaut. Au niveau des données spatiales, le système d’information géographique (GIS en anglais) a été étendu pour supporter la géographie et les systèmes de référence spatiale.
Avec le cloud qui représente aujourd’hui un domaine assez important dans le monde technologique, une nouvelle option innodb_dedicated_server a été ajoutée et permet de détecter automatiquement la mémoire du système et de configurer MySQL de manière appropriée sans avoir à modifier les fichiers de configuration.
Par ailleurs, MySQL 8.0 RC1 offre de nouvelles possibilités de gérer les lignes verrouillées avec les mots-clés SKIP LOCKED et NOWAIT. SKIP LOCKED permet de sauter les lignes verrouillées pendant une opération et NOWAIT lance une erreur lorsqu’une ligne verrouillée est rencontrée.
Au-delà de ces améliorations, l’équipe de Mysql rapporte que des index invisibles ont été ajoutés dans cette mouture du système de base de données relationnelle afin de pouvoir « marquer un index indisponible pour qu’il soit utilisé par l’Optimizer. Cela signifie que l’index sera toujours maintenu et tenu à jour à mesure que les données sont modifiées, mais aucune requête ne sera autorisée à utiliser l’index (même si la requête utilise un index FORCE INDEX) ».
Plusieurs autres améliorations sont disponibles dans cette nouvelle version de MySQL.
Source : Mysql
Et vous ?
Avez-vous testé cette nouvelle version de MySQL ? Quel est votre avis ?
Cette nouvelle version de MySQL est-elle en phase avec vos espérances ?
Voir aussi
MySQL 5.7 est désormais disponible en téléchargement, cette mouture a été présentée comme étant trois fois plus rapide que l’ancienne
MySQL 5.5 disponible, Oracle segmente son marché
Red Hat Enterprise Linux 7 abandonne aussi MySQL pour MariaDB, la version bêta disponible
Partager