Facebook, Google, Linkedin, Twitter et d'autres acteurs du web ont créé un groupe baptisé WebScaleSQL pour travailler sur la base de données relationnelle Open Source MySQL afin de l'adaptation aux grands environnements IT. « Notre objectif en lançant WebScaleSQL est de permettre aux membres de la communauté MySQL de travailler plus étroitement sur certains aspects importants comme la montée en puissance », explique Steaphan Greene dans un billet de blog. Il ajoute, « nous souhaitons créer un système plus intégré de partage des connaissances pour aider les entreprises à tirer parti des fonctionnalités incluses dans MySQL 5.6, mais aussi ajouter des capacités propres à des environnements de plus grande échelle ».

Le déploiement de MySQL sur Facebook est considéré comme un des plus grands au monde. La base de données comprend des informations sur 1,23 milliard d'utilisateurs. Plusieurs autres réseaux sociaux n'ont pas fait ce choix et ont misé sur des bases de données NoSQL comme Cassandra ou Riak qui ont été construites dès le début pour accueillir des jeux de données répartis sur plusieurs serveurs. Facebook utilise MySQL avec le système de cache Memcached pour répliquer les données à travers le monde sur plusieurs serveurs.

Des projets déjà en cours

L'association WebScaleSQL n'est pas seule à travailler sur l'évolutivité de MySQL. La société Percona propose une version de la base de données pour un usage haute performance, appelé Percona Server. Les forks MariaDB et Drizzle de MySQL ont été créé avec à l'esprit cette notion d'évolutivité. Même Oracle, la maison-mère de la solution Open Source, a intégré à MySQL un gestionnaire qui accélère les appels des données de Memcached. La firme de Redwood Shores propose également une version spécifique de MySQL, nommé MySQL Cluster, à utiliser sur des groupes de serveurs. Elle n'est cependant pas beaucoup utilisée en dehors des opérateurs de télécommunications et d'autres activités dédiées.

WebScaleSQL insiste sur le fait que la base de son code ne constitue pas un fork de MySQL, mais plutôt une version optimisée pour un usage haute performance. Les efforts de l'association portent sur la version 5.6 de la base de données. Elle espère que ses travaux seront repris par Oracle dans la prochaine version 5.7. Des outils ont déjà été mis au point comme une série de stress test et un cadre automatisé pour la création et l'examen des changements de code. D'autres projets sont en cours comme un client MySQL asynchrone qui ne bloquera pas les demandes supplémentaires lors du traitement d'une requête. Par ailleurs, des ingénieurs planchent sur un mécanisme qui peut accélérer l'analyse complète de tables avec un ratio de 10.