Los números hercúleos de usuarios activos que alcanza año tras año la red social Facebook (1.150 millones en 2014) son solo una forma simple de representar el verdadero Hércules tecnológico que yace en su interior. Desde que la red social se convirtiera en la elección por antonomasia tanto de usuarios individuales como corporativos para comunicar, publicar y promocionar contenido, la empresa ha tenido que invertir en tecnologías cada vez más potentes y capaces de gestionar tareas a gran escala.

Sin lugar a duda, el mayor reto al que se enfrenta Facebook es el almacenamiento y la gestión del contenido que se publica en su portal. A la empresa no solo le interesa gestionar las publicaciones de forma eficaz por razones de funcionalidad, sino porque todo este material convierte a la empresa en el centro de interés para anunciantes y otras partes interesadas. El poder de Facebook crece cuantitativamente y cualitativamente en función de la eficacia con la que gestione el contenido producido por sus usuarios y por esto cuenta con hasta ocho tipos diferentes de bases de datos cuyo objetivo es gestionar y mantener en funcionamiento el portal.

MySQL

La eficacia para interpretar datos de este sistema es la principal razón por la que Facebook y otras aplicaciones web y gestores de contenido confían en este gestor de bases de datos.

A través de MySQL, Facebook gestiona el almacenamiento de datos estructurados como publicaciones de muros, información de usuarios, biografías, etc. y los reproduce por las diferentes localizaciones geográficas de sus centros de bases de datos.

Memcached

Para solucionar el problema que supone acceder a los datos almacenados sin poner el peligro la velocidad del portal y optimizar el tráfico de entrada y salida, Facebook utiliza Memcached, herramienta que almacena datos específicos en la memoria de acceso aleatorio (RAM por sus siglas en inglés) del portal. Memcached gestiona el flujo de información dinámica. Al referirnos a un portal dinámico, no estamos hablando de un sitio visualmente dinámico con transiciones o interactividad, sino a uno que, como Facebook, tiene flujo de datos.

Memcached almacena datos en el caché y evita así tener que acceder a la base de datos de MySQL para recuperarlos más adelante. De esta manera se mejora y garantiza la velocidad de carga del portal.

Haystack

Una de las funciones estrella de la red social es la publicación de imágenes. Según un informe publicado por Facebook en 2013, en ese mismo año se compartieron más de 250.000 millones de fotos, convirtiéndola en el mayor portal de imágenes del mundo.

Por cada foto que comparte un usuario, Facebook crea cuatro versiones de diferentes tamaños, lo que se traduce en un número más que hercúleo de imágenes. Haystack es un sistema de almacenamiento de objetos, forjado para cumplir con las necesidades de la red social, que almacena imágenes en protocolos http.

Varnish

Varnish es un acelerador de aplicaciones web cuya función, al igual que Memcached, es almacenar en el caché datos para aumentar la velocidad a la que el usuario accede a la información. Pero, ¿por qué necesita Facebook otra tecnología más que solvente este problema? La aplicación que la red social ha dado a esta herramienta es la de cachear exclusivamente imágenes y fotos de perfil, mientras que Memcached la utiliza para datos (publicaciones de muros, usuarios, etc.).

Sin duda Facebook, junto con el resto de empresas que manejan grandes flujos de datos, lidera la carrera en innovación de almacenamiento de información en nuestra era digital. Varias preguntas se plantean a partir de aquí: ¿por cuánto tiempo podemos seguir almacenando información?, ¿es posible mantenerla accesible para siempre?