Facebook se ha unido a varios otros ‘pesos pesados’ de los servicios Internet como Google y LinkedIn, para equipar mejor al sistema de administración de bases de datos relacionales MySQL para el trabajo en gran escala.
El nuevo grupo, llamado WebScaleSQL, incluye a ingenieros de Facebook, Google, LinkedIn y Twitter. “Nuestra meta al lanzar WebScaleSQL es permitir que los miembros del grupo orientados a las labores de gran escala en la comunidad MySQL puedan trabajar más cerca unos de otros para dar prioridad a los aspectos que son más importantes para nosotros”, escribió Steaphan Greene, ingeniero de software de Facebook, en un post donde se anuncia la colaboración.
“Apuntamos a crear un sistema más integrado para compartir el conocimiento y ayudar a las compañías a aprovechar las características que ya se pueden encontrar en MySQL 5.6, mientras que al mismo tiempo se construyan y añadan más características que sean específicas para los despliegues en ambientes de gran escala”, escribió Greene.
Facebook tiene uno de los despliegues más grandes de MySQL, si no el más grande. El sistema de base de datos alberga los datos de los 1,23 mil millones de usuarios de Facebook.
Muchas otras compañías de networking social han evitado el uso de bases de datos relacionales como MySQL en favor de bases de datos NoSQL como Cassandra o Riak, que fueron construidas desde cero para alojar conjuntos de datos extremadamente grandes y distribuidos en múltiples servidores.
Facebook, en cambio, usa MySQL junto con el sistema de caching Memcached para replicar los datos de todo el mundo en muchos servidores. WebScaleSQL no se encuentra sola en su esfuerzo por mejorar MySQL para el trabajo de baja latencia de nivel de web global.
El trabajo se basa en la más reciente versión lista para producción de MySQL, versión 5.6. El grupo espera que Oracle aceptará algunos de los desafíos en la siguiente versión de MySQL, versión 5.7.
El proyecto ya ha producido varias herramientas para ayudar en esta causa. Ha desarrollado un conjunto de pruebas de estrés y un framework automatizado para crear y revisar cambios en el código. Muchos proyectos se encuentran en proceso en la actualidad.
Uno de los proyectos es un cliente MySQL asincrónico que no bloqueará las solicitudes si se encuentra ya trabajando con una. Facebook creó este fix, y actualmente está siendo revisado por otros ingenieros de WebScaleSQL.
El grupo también está revisando otros aportes de Facebook a MySQL como el mecanismo read ahead que puede acelerar los escaneados de tablas en 10 veces.
Joab Jackson, IDG News Service