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.