MySQL Cluster 7.2, disponible globalement depuis mercredi, « est un énorme pas en avant pour MySQL Cluster et se positionne clairement sur le marché de l'Internet, » a déclaré Tomas Ulin, vice-président de l'ingénierie chez Oracle. MySQL arrive en effet avec deux fonctionnalités particulièrement adaptées à cet environnement. Le logiciel propose désormais une API Memcached qui permet aux applications d'accéder directement aux données sans passer par le moteur SQL. Le logiciel possède également un mode plus rapide pour exécuter les requêtes complexes, ou des requêtes impliquant une recherche dans des données issues de plusieurs tables. « Grâce à ces deux fonctions, MySQL Cluster donne accès aux meilleurs attributs des bases de données SQL et NoSQL, » a expliqué le VP d'Oracle. Celle-ci s'adapte bien à la structure clé-valeur de NoSQL conçue pour fournir un accès rapide aux informations, mais permet aussi de répondre aux requêtes SQL complexes d'une base de données SQL classique.

MySQL Cluster est une version également Open Source de la base de données MySQL spécialement configurée pour s'exécuter sur plusieurs serveurs. Elle a été conçue de telle sorte que si un serveur, ou un noeud tombent en panne, le cluster conserve toutes les données et continue à fonctionner sans erreur. Le logiciel utilise une architecture à mémoire distribuée (Shared-Nothing Architecture - SNA), où chaque cluster dispose de sa propre mémoire ou de son propre espace disque, une caractéristique qui permet de configurer des systèmes illimités ou avec un nombre de noeuds illimités. MySQL Cluster a été très souvent déployé dans le secteur des télécommunications. « Quel que soit le continent, on trouve des opérateurs mobiles qui ont déployé MySQL Cluster, » a fait remarquer Tomas Ulin. « Les entreprises de télécommunications apprécient la capacité et la facilité d'évolution du logiciel cluster, et son aptitude à rappeler les données quel que soit le moment où elles ont été écrites sur le disque. Elles apprécient aussi le fait que MySQL Cluster peut tourner sur des serveurs à faible coût, » a aussi déclaré le dirigeant.

Une API Open Source pour accélérer les requêtes


« Oracle a ajouté à cette version de MySQL Cluster des fonctionnalités qui devraient en faire un logiciel particulièrement bien adapté aux applications web à grande échelle, » a estimé Tomas Ulin. « Plusieurs opérateurs télécoms ont fusionné avec des fournisseurs Internet. Les contraintes de l'industrie des télécommunications sont devenues celles de l'industrie du web. À savoir une très faible latence, une haute disponibilité et une grande adaptabilité. Des exigences auxquelles MySQL Cluster peut répondre,» a affirmé M. Ulin. Le logiciel devrait être adapté pour des missions de service web comme la gestion des profils utilisateurs, la gestion des sessions, les jeux en ligne et le traitement transactionnel en ligne OLTP (Online Transaction Processing) haute performance. MySQL Cluster 7.2 est la première version à offrir l'accès à ses données par l'intermédiaire de l'API Open Source Memcached.

Utilisé par de nombreux grands fournisseurs de services web comme Facebook, Memcached crée une table de hachage pour les données les plus souvent appelées dans la base de données. L'API permet un accès rapide à cette table, conservée dans la mémoire de travail du serveur. « Ces données persistantes stockées en cache sont très utiles, » a déclaré Curt Monash de Monash Research. Celui-ci fait remarquer au passage que la base de données NoSQL Couchbase, construite sur Memcached, a eu pas mal de succès. « MySQL a toujours offert de bonnes performances lorsqu'elle est utilisée comme containeur de données clé-valeur, » a déclaré l'analyste. « On peut donc raisonnablement penser que l'interface Memcached incluse dans le pack offrira aussi de bonnes performances. » MySQL Cluster comportait déjà une fonction comparable pour un accès direct aux données via une autre API appelée NDB (Network Data Base), à la différence près que c'était une API propriétaire d'Oracle. Memcached va permettre à des administrateurs qui connaissent déjà l'API Memcached de travailler facilement avec MySQL Cluster.

[[page]]

Le logiciel introduit également une fonctionnalité dite de localisation adaptative des requêtes, qui permet de réduire le temps qu'il faut pour exécuter des requêtes complexes. « Les requêtes de jointure complexes sont le talon d'Achille des bases de données SQL, » a admis Tomas Ulin. Celles-ci portent sur des données combinées issues de tables multiples, et demandent des opérations de calcul intensives, spécialement quand on a à faire à de gros volumes de données. Dans les précédentes versions, MySQL Cluster exécutait les requêtes complexes en rassemblant toutes les données sur un serveur pour traiter des requêtes combinées. « Il fallait parfois transférer jusqu'à 2 Go de données sur le serveur MySQL pour avoir des résultats tenant sur quelques lignes, » a expliqué le VP d'Oracle.

La localisation adaptive permet de conserver autant de calculs combinés que possible sur les serveurs où se trouvent déjà les données. Une grande partie de l'indexation croisée se fait sur le noeud individuel avant d'être transférée vers le serveur chargé de traiter la requête. Comparativement aux versions précédentes de MySQL Cluster, cette approche permet d'améliorer par 70 le temps qu'il faut pour obtenir des résultats aux requêtes. Cette nouvelle fonctionnalité « va vraiment élargir les types environnements dans lesquels MySQL Cluster peut être utilisé, » a déclaré Tomas Ulin. Le logiciel comporte aussi un certain nombre d'autres fonctionnalités. L'une d'elles permet de propager des noeuds individuels de données entre plusieurs datacenters. Le logiciel permet également aux administrateurs de partager les tables de privilèges utilisateurs entre différents noeuds, si bien qu'il n'est pas nécessaire de redéfinir ces privilèges sur chaque serveur.

Oracle a également certifié la nouvelle version de MySQL Cluster pour les environnements Oracle VM. L'éditeur a aussi mis à jour le pack autonome d'administration de MySQL Cluster, MySQL Cluster Manager, qui passe en version 1.1.4. MySQL Cluster est disponible en téléchargement gratuit. Mais Oracle propose une version MySQL Cluster Carrier Grade Edition Subscription avec support. Aux États-Unis, le coût de l'abonnement à cette version démarre à 10 000 dollars pour des serveurs comportant un à quatre sockets.