Un mois après la disponibilité générale de MySQL 5.7, Tomas Ulin, vice-président, responsable du développement de MySQL chez Oracle, était à Paris cette semaine, pour participer à la conférence PHP Forum (du 23 au 24 novembre au Beffroi de Montrouge). La rédaction du Monde Informatique l’a rencontré. Ce Suédois a rejoint MySQL en 2003, lorsque sa société a été rachetée par l’éditeur de la base de données open source. Cette dernière vient de fêter ses 20 ans. Depuis 2010, son évolution est gérée par Oracle, après le rachat de Sun Microsystems. Quant au moteur de base de données InnoDB, cela fait maintenant 10 ans qu’il est supervisé par Oracle, a rappelé ce matin Tomas Ulin. Depuis cinq ans, trois versions de MySQL ont été livrées, avec un focus sur l’assurance qualité, l’équipe a été doublée et les retours des utilisateurs sont bons sur les fonctionnalités et le fait que le logiciel soit resté open source, assure-t-il.
Le responsable du développement pointe aussi les briques qui accompagnent la base comme MySQL Cluster apportant la haute disponibilité (dernière version 7.4 livrée fin février). « C’est un produit qui est en particulier intégré à l’offre dans le secteur des opérateurs télécoms pour gérer les bases centrales critiques HLR et HSS (Home Location Register et Home Subscriber Server) qui conservent les informations sur les réseaux mobiles et les services des abonnés, lorsque vous appelez quelqu’un, MySQL Cluster est impliqué dans le processus », nous a-t-il cité en exemple avec, dans ce domaine, des clients comme Ericsson et Alcatel-Lucent. MySQL Cluster est également devenu très populaire parmi les fournisseurs de jeux comme Big Fish Games ou Playful Play. Quant à l’opérateur de paiement en ligne Paypal, il l’utilise pour ses applications de détection de fraude.
Intégré à l'environnement Windows
Autour de MySQL, on trouve aussi Fabric conçu pour gérer des fermes de base de données - avec des capacités de sharding (partitionnement) et de failover (reprise sur incidents) - et Workbench pour s’interfacer à la base avec une interface graphique, ainsi que des outils de modélisation pour simplifier l’administration et les tâches. « Nous avons aussi un outil spécifique pour travailler de façon très intégrée avec l’environnement Windows et faire, par exemple, du drag and drop depuis les tables dans Excel, ou encore utiliser le toolkit de Visual Studio ». Par ailleurs, MySQL est disponible dans une version Entreprise qui s’adresse notamment aux clients d’Oracle en leur permettant de s’intégrer avec les solutions qu’ils utilisent déjà comme l’outil Audit Vault pour les fonctions d’audit, Golden Gate pour la réplication de données en environnement hétérogène ou encore avec la solution de back-up sécurisé.
Un plug-in connecte aussi MySQL au logiciel d’administration Enterprise Manager qui permet de gérer son environnement Oracle. Il existe une autre solution d’administration, Enterprise Monitor, rappelle Tomas Ulin, destiné aux clients exclusivement MySQL qui n’utilisent aucun produit Oracle, parmi lesquels nombre de sites web, les OEM et les éditeurs indépendants (ISV), énumère le vice-président. L’édition Enterprise de la base comporte aussi des fonctions additionnelles pour l’authentification et le chiffrement, auxquelles s’ajoutent également Enterprise Firewall. Tous ces logiciels sont disponibles en open source.
Uber a migré de Postgres vers MySQL
L’un des réalités les mieux connus quand on évoque la base de données co-développée par Michael Widenius à la fin des années 90, c’est sa forte présence dans l’espace web couplé aux autres piliers du modèle LAMP (Linux, Apache, MySQL, PHP). Depuis, la base a été adoptée au-delà de ce périmètre. Parmi ses derniers utilisateurs en date figure l’éditeur danois Zendesk dont le logiciel de gestion du service client s’appuie sur MySQL en back-end. La plateforme de mise en relation Uber, qui exploitait Postgres, a également migré vers la base supervisée par Oracle. La plateforme de partages de photos Pinterest a essayé plusieurs solutions NoSQL pour finalement revenir vers MySQL, nous a également cité Tomas Ulin. Cet été, Pinterest a exposé dans un billet sa mise en oeuvre du sharding avec la base.
Interrogé sur la concurrence des bases NoSQL, développées par les acteurs du web pour leurs besoins spécifiques, Tomas Ulin rappelle que nombre d’entre eux (Facebook, YouTube, Twitter, Tumblr) s’appuient également sur MySQL. Les bases NoSQL servent à des besoins spécifiques alors que MySQL répond à un usage beaucoup plus général, rappelle le vice-président. Par ailleurs, cette dernière a été testée par tant d’utilisateurs dans tant de situations différentes qu’il est aussi plus facile de recruter des compétences autour de ses technologies. « Beaucoup ont essayé d’autres choses et sont revenus », ajoute le responsable du développement de la base.
JSON maintenant supporté
A propos de la concurrence exercée par ailleurs par les forks à MySQL, comme Percona ou MariaDB créé par Michael Widenius lui-même, Tomas Ulin montre une certaine réticence à en parler. « Je n’aime pas comparer les fonctions entre notre logiciel et les forks », exprime-t-il en ajoutant malgré tout : « Nous investissons beaucoup plus que tous les forks et je pense que nous offrons le meilleur support ». Plutôt que de s’étendre davantage sur ce sujet, Tomas Ulin préfère rappeler le support de JSON (JavaScript OBject Notation) sur la version 5.7 de MySQL qu’il qualifie de très important.
Il revient aussi sur l’importance du moteur de base de données InnoDB qui a été très largement mis à l’épreuve et qui, par ailleurs, peut être utilisé par MySQL et par d’autres logiciels. Le vice-président mentionne aussi le plug-in memcached, qui procure un accès extrêmement rapide aux données et fournit la meilleure approche pour différents mondes. Il résume aussi les avancées notables de MySQL 5.7 sur les performances, la sécurité, l’évolutivité, pointant les avancées dans le partitionnement, l’accès schema less, la facilité d’ajouter des nœuds en architecture distribuée (scale out) et haute disponibilité, apportée par MySQL Fabric.
Beaucoup de ré-ingénierie dans la version 5.8
Pour aller à la rencontre de la communauté d’utilisateurs qui contribue largement à l’évolution de MySQL, Oracle a engagé un Tech Tour européen sur 20 villes en ce mois de novembre, déjà passé par Munich, Dublin, Milan, Helsinki, Londres ou Rome. Il sera à Paris le 8 décembre. De nombreuses ressources autour du produit sont par ailleurs accessibles à travers le site dev.mysql.com, divers blogs ou sur GitHub. Selon Tomas Ulin, il y a aujourd’hui plus de 50 millions d’utilisateurs de MySQL et des milliers de personnes actives sur les forums, sans oublier les différents frameworks construits au-dessus de la base comme Magento ou Drupal et qui contribuent aussi à la technologie. « Nous bénéficions finalement d’une communauté plus large ».
Et cette communauté réfléchit maintenant à la prochaine version, 5.8, souhaitant voir encore accélérer les capacités de traitement de la base. « Il y aura beaucoup de ré-ingénierie, en particulier autour de Data Dictionnary. Nous avons publié un billet à ce sujet. Nous avons également fait un gros travail sur les aspects de réplication ». Pour la prochaine version, les utilisateurs demandent aussi davantage de modularité dans le développement de MySQL et l’ajout de plug-ins pour étendre l'interaction avec les autres applications. « Nous travaillons sur un framework pour développer des plug-ins », a précisé Tomas Ulin. L'équipe de développement avance aussi sur les aspects hybrides permettant de combiner le logiciel à d’autres environnements. En reconnaissant que MySQL n'a pas toujours été bien équipé, l'éditeur parle maintenant de maturité et pense que le nom d'Oracle peut aujourd'hui amener vers le produit certaines entreprises qui ne l'aurait peut-être pas choisi avant.