Cargo actual:Index > Cómo Facebook Escalas con Open Source

Cómo Facebook Escalas con Open Source

Actualizado:08-15Fuente: consolidación de la red
Advertisement

Cuando se trata de tener que escalar su servicio para manejar demandas cada vez mayores de datos, puede haber mejor ejemplo que mirar que Facebook. El gigante de las redes sociales ha pasado de ser un servicio para estudiantes de Harvard a unos 500 millones de usuarios.

Cómo Facebook Escalas con Open Source


Pero esa cifra no refleja adecuadamente escalado y almacenamiento demandas de la empresa. Así que aquí están algunas más estadísticas: En total, los usuarios pasan 8000000000 minutos en el sitio todos los días. Hay 3,5 mil millones de piezas de contenido compartidos semanal. 2500000000 fotos se suben cada mes, y 1,2 millones de fotos se sirven cada segundo. Y como el 70% de los usuarios de Facebook se encuentran fuera de los Estados Unidos, la cantidad de datos almacenados servido y se complica aún más por la ubicación de los usuarios y centros de datos.

No es de extrañar, entonces, que algunas de las formas tradicionales de la escala no puede trabajar para Facebook. Usted simplemente no puede fragmentar la base de datos basado en la ubicación de un usuario o en base a la información que él o ella tendrá acceso, ya que los usuarios están interconectados de manera que sea impredecible y global.

Como Facebook ha crecido, la compañía ha trabajado para desarrollar una serie de herramientas para manejar estos datos, tanto en términos de almacenamiento y la entrega de contenido, y se ha abierto origen muchos de estos. Facebook se ha construido desde el principio en las tecnologías de código abierto, de acuerdo con David Recordon, programas de código abierto Administrador de Facebook. Pero el uso de Facebook de código abierto va mucho más allá del LAMP (o incluso, más allá de la LAMP además Memcached ). La compañía también ha creado y lanzado varios proyectos de código abierto y participa en gran medida en los demás, sobre todo tal vez, Hadoop .

Aquí están algunos de herramientas de código abierto de Facebook que han ayudado a que manejar la enorme cantidad de datos:

Cassandra

Ahora un proyecto de Apache Software Foundation, Cassandra es un sistema de almacenamiento distribuido para la gestión de datos estructurados que está diseñado para escalar a un tamaño muy grande a través de muchos servidores de las materias primas, sin ningún punto único de fallo. Originalmente desarrollado para ayudar a la bandeja de entrada de potencia de búsqueda de Facebook, Cassandra es uno de un número creciente de NoSQL soluciones de bases de datos.

Colmena

También un proyecto Apache, Colmena es la infraestructura de almacenamiento de datos construida sobre Hadoop que proporciona herramientas para que el resumen de datos fácil, consultas ad hoc y análisis de grandes conjuntos de datos. Colmena ofrece un lenguaje de consulta simple llamado Colmena QL, que ya que está basado en SQL permite a quienes están familiarizados con SQL para consultar estos datos.

He aquí un extracto de una presentación en FOSDEM a principios de este año:

Hip hop

Con el fin de ahorrar recursos para sus servidores, Facebook desarrolló HipHop , que transforma el código fuente PHP en un C ++ altamente optimizado. HipHop era originario abierta a principios de este año.

Escriba

Facebook registra aproximadamente 25 terabytes de datos al día. Sin sorpresa, tal vez, otras herramientas no fueron capaces de escalar a esa capacidad, por lo que Facebook desarrolló Scribe para registrar los datos se transmiten en tiempo real a partir de un gran número de servidores.

Ahorro

Actualmente un proyecto de incubadora de Apache, Thrift proporciona un marco para el desarrollo de los servicios en idioma cruz escalables en C ++, Java, Python, PHP y Ruby.

Recordon señala que muchas de las nuevas tecnologías de Facebook comenzó como "un proyecto truco", y la compañía está trabajando no sólo para el desarrollo de nuevas herramientas internamente, sino para fomentar su desarrollo y el uso externo también. Así, mientras que pocas compañías pueden tener el almacenamiento masivo de datos y escalado necesidades que Facebook hace, los esfuerzos de código abierto de la compañía trabajar hacia la construcción de un "modelo sostenible de colaboración" del desarrollo.