Avec MySQL 5.6, Oracle propose une mise à jour de sa base de données Open Source pour la rendre plus compétitive face aux solutions proches de NoSQL comme MongoDB, MariaDB ou Cassandra. «Nous sommes en dialogue constant avec nos clients et utilisateurs, et ils ont manifesté leur intérêt pour les technologies NoSQL», a déclaré Tomas Ulin, vice-président de l'ingénierie MySQL chez Oracle. L'éditeur californien espère offrir l'évolutivité et la vitesse de traitement des plates-formes NoSQL tout en conservant l'évolutivité d'une l'architecture relationnelle. « Nous pouvons combiner le meilleur des 2 mondes. Vous n'aurez pas à scinder vos données ou à utiliser deux types de bases de données», a poursuivi le dirigeant.
Lors du développement de cette version, qui a duré environ deux ans, Oracle a accéléré les travaux sur un certain nombre d'améliorations qui devraient rendre MySQL plus concurrentiel face aux bases de données non relationnelles NoSQL qui ont gagné en popularité au cours des dernières années. MySQL offre maintenant un moyen d'accéder plus rapidement aux données, par le biais de l'API Memcached. Le SGBD n'utilise pas réellement Memcached mais exploite son API - familière à de nombreux administrateurs système - comme une interface pour récupérer les données directement à partir de la base de données, sans passer par son moteur. Cette méthode permet de délivrer plus rapidement des données - jusqu'à neuf fois plus vite- , qui n'ont pas besoin d'être analysées par SQL.
Un index pour la recherche plein texte
Une autre fonctionnalité qui devrait remettre MySQL au niveau de NoSQL est la possibilité d'exécuter des opérations DDL (Data Definition Language) sans prendre hors ligne les tables en cours de modification. Les administrateurs peuvent modifier un schéma, ajouter, renommer ou supprimer une colonne, le tout sans mettre hors ligne la base de données. Les produits NoSQL sont justement plébiscités pour ces capacités de mises à jour dynamiques, que MySQL offre à son tour.
Autre apport de MySQL 5.6, la capacité à optimiser les sous-requêtes, ou les requêtes imbriquées, ce qui peut considérablement rallonger le temps de traitement des opérations. Le diagnostic est plus complet, grâce à une extension des requêtes EXPLAIN. La base de données offre également un index pour la recherche plein texte, ce qui signifie que les recherches peuvent se faire dans de grands champs de texte sans réaliser un scan complet des tables, ce qui prend plus de temps.
Support des serveurs 48 coeurs
Pour renforcer la haute disponibilité, MySQL 5.6 intègre des identificateurs de transaction globaux (GTID). Le Workbench de MySQL comprend désormais un ensemble de lignes de code Python qui surveille les liens entre les bases de données maître-esclave et peut basculer automatiquement les opérations vers le serveur de sauvegarde quand les tentatives d'écriture échouent sur la base de données primaire.
Le logiciel peut maintenant exploiter des serveurs avec 48 coeurs contre 32 pour la précédente version de MySQL 5.5. Bien que peu de clients utilisent MySQL sur des machines de ce type, Oracle prend les devants et prévoit qu'ils seront beaucoup plus nombreux dans les années à venir. «Nous avons besoin d'avoir un peu d'avance afin d'anticiper les montées en puissance», a déclaré M. Ulin. Le dirigeant d'Oracle ne précise pas quels seront les changements à venir dans MySQL 5.7, indiquant simplement que l'équipe de développement est encore dans les premières étapes de planification.