Facebook con más de mil millones de usuarios, es quizás uno de los mayores despliegues sobre bases de datos MySQL, por tanto uno de los principales interesados en empujar el desarrollo de MySQL, al igual que Twitter. Por eso, a pesar que cierta parte de la comunidad ha optado por hacer un fork como MariaDB o Drizzle, Facebook y el resto de compañías del proyecto WebScaleSQL apuestan por crear un branch que camine junto al proyecto inicial y nutra a la comunidad actual de MySQL.
El objetivo de WebScaleSQL es hacer posible que MySQL pueda funcionar en entornos escalables con alta exigencia como la web. Los ingenieros de las cuatro compañías implicadas llevan meses intercambiando conocimientos y viendo cómo trabaja cada uno para aunar un proyecto común que les ayude a solucionar problemas comunes.
El sistema colaborativo de WebScaleSQL está abierto para que cualquiera pueda enviar su colaboración, revisar el código o reportar errores. Por ejemplo, un desarrollador de WebScaleSQL puede proponer un cambio. Luego un desarrollador de WebScaleSQL de otra compañía revisar el código y aportar feedback. Si ambos están de acuerdo, el código es funcional y ha pasado los tests, se pushea el código para que esté disponible para todos los desarrolladores. Por otro lado, cada organización puede customizar WebScaleSQL ha sus propias necesidades.
Entre las mejoras ya incorporadas por parte de WebScaleSQL se encuentran:
- La construcción de un framework que automatice los cambios de cada propuesta envíada, ejecute y publique los resultados en el conjunto de tests de MySQL.
- Un conjunto de tests de stress para ejecutar en los procesos de mejora de rendimiento de los sistemas MySQL.
- Cambios en el rendimiento de MySQL: optimización de queries, mejoras del buffer pool fushing, soporte NUMA, etc..
- Funcionalidades que habilita de forma sencilla WebScaleSQL como un sistema escalable con el modo super_read_only o poder especificar un sub-second client timeout.