La tecnología de Facebook
Alberto Rodríguez Barrera
Noticiero Digital
La tecnología de Facebook
El reto es uno de combinaciones o de cómo la tecnología de redes sociales administra una vasta red de conexiones en proliferación. Y en eso, Facebook es un maravilloso ejemplo del efecto red, donde el valor de una red para el usuario es exponencialmente proporcional al número de los otros usuarios que esa red tiene.
El poder de Facebook se deriva de lo que Jeff Rothschild, su vicepresidente de tecnología, llama el “social graph” (gráfico social), la suma de las salvajemente variadas conexiones entre los usuarios del sitio y sus amigos; entre gente y eventos; entre fotos y gente; y entre un inmenso número de objetos discretos conectados por metadata que los describe a ellos y a sus conexiones.
Facebook mantiene centros de data en Santa Clara, San Francisco (California) y en Virginia del Norte. Los centros están construidos en tres hileras servidores cargados con software de fuente abierta, algunas de las cuales la propia Facebook ha creado.Veamos su centro principal, en Santa Clara, y luego cómo interactúa con sus hermanos.
La hilera superior de la red de Facebook está constituida por servidores Web que crean las páginas Web que los usuarios ven, la mayoría con cuatro núcleos corriendo en Linux y Apache 64-bit. Muchas de las páginas sociales de la red y sus características son creadas utilizando PHP, una computadora que escribe un lenguaje especializado para funciones simples automatizadas.
Pero Facebook también desarrolla núcleos complejos de aplicaciones que utilizan una variedad de lenguajes completos de computadora, incluyendo C++, Java, Python y Ruby. Para administrar la complejidad de esto, la compañía creó Thrift, una aplicación marco que permite que los programas compilados de diferentes lenguajes trabajen juntos.
La hilera inferior consiste de ocho núcleos de servidores Linux corriendo en MySol, un servidor/aplicación de database de fuente abierta. Rothschild estima que Facebook tiene alrededor de 800 de estos servidores distribuyendo alrededor de 40 terabytes de data usuaria. Esta hilera almacena toda la metadata sobre cada objeto en la database, como una persona, una foto o un evento.
La hilera del medio consiste de servidores “caching”. Hasta 800 servidores de database no pueden servir toda la data necesaria: Facebook recibe 15 millones de solicitudes por segundo para data y conexiones. Los servidores abultados en caches (escondrijos), corriendo en Linux y el software de fuente abierta Memcache, llenan la brecha. Alrededor del 95 por ciento de las averiguaciones se cubren desde los servidores cache de 15 terabytes de RAM, de manera tal que sólo 500,000 averiguaciones por segundo puedan pasar a MySol, las databases y sus relativamente lentos discos duros. Fotos, videos y otros objetos que pululan en la hilera Web se almacenan en archivadores separados dentro del centro de data.
El datacentro de Virginia está demasiado lejos para compartir las databases de MySol: con 70 milisegundos de demora Internet, más o menos, no funciona. Por lo tanto, duplica completamente al centro de Santa Clara, utilizando réplicas de MySol para mantener las hileras de databases en sincronía.
¿Qué es lo que viene ahora para la tecnología de Facebook? Por una parte, dice Rothschild, la compañía ha descubierto que lo que interrumpe (ralenta) a los servidores-controladores de Ethernet -que son los que dejan a los servidores procesar la miríada de solicitudes que llegan al mismo tiempo- son un cuello de botella, ya que generalmente son manejadas sólo por un núcleo. Así es que Facebook re-escribió sistemas multi-núcleos. Facebook también está experimentando con discos de estado sólido, que podrían acelerar el rendimiento de la hilera de database de MySol por un factor de 100. Dado el hecho de que Facebook está creciendo -y que las conexiones crecen exponencialmente- el sitio va a necesitar ese rendimiento pronto.



[...] Fuente: http://realidadalternativa.wordpress.com/2008/07/26/la-tecnologia-de-facebook/ [...]
Datos personales capturados por las Compañias de Internet. Privacidad y oportunidad de negocio. | El Blog de Javier Rodriguez
18 Septiembre 2008 a 17:33
pedazo de culiados, es MYSQL no MYSOL.
gracias.
ivan
6 Enero 2009 a 19:32
Le pasaron un traductor y así lo colgaron. Un desastre!
Rodrigo
27 Mayo 2009 a 23:24