Lors de sa première conférence MySQL Connect, qui s'est tenue ce week-end (29-30 septembre) à San Francisco, Oracle a livré un certain nombre de mises à jour en rapport avec MySQL. En premier lieu, l'éditeur a mis en téléchargement une Release Candidate (RC) de la prochaine version de la base de données MySQL 5.6, ainsi qu'une version développeur intermédiaire de la future base de données MySQL Cluster 7.3 destinée à tourner sur plusieurs serveurs. L'éditeur a également mis à jour son pack MySQL Enterprise pour ses clients pros. Toutes ces mises à jour comportent de nouvelles technologies destinées à améliorer les performances web de la base de données. Comme l'a déclaré Tomas Ulin, vice-président de l'ingénierie MySQL chez Oracle, au cours des dix dernières années, « l'Internet est passé du statut de serveur de pages web à celui de fournisseur de services critiques ». Il y a 10 ans, « l'utilisateur pouvait accepter de cliquer sur « Recharger » pour rafraîchir la page de son navigateur Internet. Aujourd'hui, il s'attend à ce que la page consultée s'affiche immédiatement et il veut avoir accès à ses mails et à son compte Facebook à tout moment », a-t-il ajouté. La Release Candidate de MySQL 5.6 correspond quasiment à ce que sera la version finale attendue dans les prochains mois et comporte un certain nombre de fonctionnalités importantes. Grâce à l'API Memcached, MySQL offre désormais un moyen rapide pour stocker et retrouver des entrées de base de données, une fonction qui devrait la mettre au niveau des bases de données NoSQL. « Nous allons devenir vraiment performants en accès NoSQL, tout en ayant la force et la puissance de SQL. De notre point de vue, c'est une offre unique », a déclaré Tomas Ulin.

Des techniques pour accélérer les réponses

Oracle s'est également employé à rendre MySQL plus rapide. MySQL Optimizer fait appel à de nouvelles techniques pour sélectionner, trier et restituer des résultats de manière plus efficace. Le moteur de stockage InnoDB sous-jacent a été remanié pour mieux gérer la congruence, si bien que MySQL sera mieux adaptée aux systèmes « opérationnels » OLTP (Online Transaction Processing) et aux charges de travail en lecture seule. InnoDB dispose aussi de la recherche en texte intégral, ce qui devrait accélérer les recherches de mots et de phrases.

Autre fonctionnalité qui devrait plaire aux gros utilisateurs de MySQL, la capacité d'exécuter des opérations DDL (Data Definition Language) sans mettre hors ligne les tables de la base de données en cours de modification. « Pour modifier un schéma, ajouter, supprimer ou renommer une colonne, il faut généralement arrêter la base de données pour la modifier, puis la remettre en route », a expliqué le vice-président de l'ingénierie MySQL chez Oracle. « Avec un DDL en ligne, ce n'est plus nécessaire. La table reste disponible pendant sa modification ».

En même temps que la RC de MySQL 5.6, Oracle a également mis à jour un certain nombre de produits MySQL connexes. L'éditeur a ainsi livré la première Development Milestone Release (DMR) de MySQL Cluster 7.3. Cette DMR permet déjà d'apprécier certaines fonctionnalités qui apparaîtront dans la version finale. La version Cluster de la base de données est adaptée pour tourner sur plusieurs serveurs. La DMR comporte par exemple le support natif pour les clés étrangères. Depuis longtemps un standard SQL, les clés étrangères permettent l'indexation croisée des tables. Mais, en raison de diverses contraintes liées à l'architecture en cluster, MySQL Cluster ne proposait pas jusqu'ici de clés étrangères, si bien que le travail pour lier les tables de bases de données était dévolu à la couche d'application. La prise en charge des clés étrangères devrait permettre de réduire la charge de travail du développeur de l'application. Elle devrait aussi permettre de proposer une méthode plus infaillible pour garantir l'accès de la base de données aux utilisateurs autorisés. « Nous savons que beaucoup de clients ne peuvent envisager l'usage d'un cluster sans clés étrangères », a déclaré Tomas Ulin. « Cela ajoute aussi un niveau de sécurité pendant l'élaboration du programme ».

Une version commerciale plus étoffée

Le logiciel inclut également une API Node.js pour accéder aux données directement, sans avoir à transformer d'abord la requête en SQL. Cette méthode d'accès JavaScript est équivalente aux méthodes d'accès NoSQL existantes à MySQL Cluster, notamment celles basées sur Memcached, Java et HTTP. MySQL Cluster 7.3 dispose également d'un installateur qui sait optimiser les charges de travail et prendre en compte automatiquement les ressources offertes par les serveurs, par exemple l'architecture du processeur et le nombre de coeurs par machine.

Oracle a également mis à jour la version commerciale MySQL Enterprise Edition de la base de données, qu'il a enrichi de deux nouvelles extensions. Le logiciel permet désormais de générer des rapports d'audit et de conformité. L'extension permet de vérifier que les politiques de l'entreprise sont bien appliquées et effectue la journalisation de toutes les actions réalisées sur une base de données. La seconde extension apporte des garanties en matière de haute disponibilité (HA), y compris le basculement automatique en cas de panne et la réplication. Ces extensions sont incluses sans coût supplémentaire avec MySQL Enterprise Edition et MySQL Cluster Carrier Grade Edition.