Infraestructura de Facebook

El día de hoy la red social Facebook tuvo una caída de sus servicios por 2 horas y media, tiempo durante el cual miles de usuarios no pudieron acceder al sitio, a algunas funciones o tuvieron problemas con la velocidad de carga. Comencé a preguntarme que servidor de bases de datos ocupa, pues con sus más de 500 millones de usuarios (2010) y pensando cuantos usuarios hay activos haciendo búsquedas, subiendo información o simplemente mirando por ahí, deben generarse millones de consultas al mismo tiempo… ¿como seria su estructura?

Para darme una idea busque en el sitio de MySQL (sistema de gestión de base de datos) que efectivamente Facebook ocupa servidores MySQL y algunos datos interesantes:

  • 1,800 servidores mysql (base de datos)
  • 2 administradores de base de datos
  • 10,000 servidores web
  • 805 memcached servers (sistema distribuido que funciona como RAM)
  • Utiliza servidores en linux
  • Utiliza dispositivos físicos que apoyados con los memcached servers y linux dan el soporte necesario para las peticiones.
  • 200,000 peticiones por segundo (el kernel de linux soporta 50 000 ).

Mark Zuckerberg Creador de esta red social espera triplicar los 500 millones de usuarios durante los próximos 2 años… ¿Imaginan lo que hará falta para seguir dando un buen servicio?

Finalmente les dejo un esquema de su base de datos, que a primera vista considero bastante eficiente:

Algunos datos son del 2008 asi que no duden que los numeros sean mayores hoy (2010)

Fuentes:

Puede interesarte: