Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERIA
ESCUELA DE CIENCIAS Y SISTEMAS
MANEJO E IMPLEMENTACION DE ARCHIVOS
Ing. Álvaro Díaz
Integrantes:
Caren Elizabeth García Pérez 201504119
Eddy Javier Sirin Hernández 201503699
Henry Adolfo Gálvez 201612499
1
INTRODUCCION
2
OBJETIVOS
Dar a conocer el origen y la historia de Facebook hasta donde lo conocemos hoy por hoy.
Ver los datos con los cuales Facebook debe lidiar día a día, y como es posible que se
mantenga disponible para todos aun con la inmensa cantidad de data que entra en sus
servidores a cada instante.
3
¿Qué es Facebook?
Es una compañía estadounidense que ofrece servicios de redes
sociales y medios sociales en línea con sede en Menlo Park, California. Su sitio
web fue lanzado el 4 de febrero de 2004 por Mark Zuckerberg, junto con otros
estudiantes de la Universidad de Harvard y compañeros de
habitación, Eduardo Saverin, Andrew McCollum, Dustin Moskovitz y Chris
Hughes. Está disponible en español desde febrero de 2008.8 Facebook es una
plataforma que funciona sobre una infraestructura de computación basada
principal y totalmente en sistemas GNU/Linux, usando el conjunto de
tecnologías LAMP(es el acrónimo usado para describir un sistema de
infraestructura de internet que utiliza las siguientes herramientas Linux,
Apache, MySQL, PHP), entre otras.
Inicialmente, los fundadores limitaron la membresía del sitio web a los
estudiantes de Harvard, pero posteriormente lo ampliaron a instituciones de
educación superior en el área de Boston, en las escuelas de la Ivy League y en
la Universidad de Stanford. Asimismo, gradualmente agregó soporte para
estudiantes en varias otras universidades, y finalmente a estudiantes de
secundaria. Desde 2006, a cualquier persona que diga tener al menos 13 años
se le ha permitido convertirse en usuario registrado de Facebook, aunque
existen variaciones en este requisito según las leyes locales. El nombre
proviene de los directorios de fotos personales que a menudo se entregan a
estudiantes universitarios estadounidenses. En febrero de 2012 salió a bolsa
mediante una Oferta pública de venta (OPV), alcanzando una valoración de
104 mil millones de dólares, la más alta para una empresa que empieza a
cotizar. Comenzó a vender acciones al público tres meses después, pero la
mayoría de sus ingresos los obtiene de los anuncios que aparecen en pantalla.
Facebook cuenta con más de 2200 millones de usuarios activos mensuales a
fecha de marzo de 2018. Su popularidad ha supuesto a una ingente cobertura
mediática de la compañía, como un escrutinio significativo sobre la privacidad
y los efectos psicológicos que tiene en los usuarios. En los últimos años, la
compañía se ha enfrentado con una intensa presión sobre la cantidad de fake
4
news, la incitación al odio y las representaciones de violencia que prevalecen
en sus servicios, aspectos que está intentando contrarrestar.
El 9 de abril de 2012 Facebook adquirió Instagram por 1000 millones
de dólares, y en febrero de 2014 compró el servicio de mensajería
móvil WhatsApp por 16 000 millones de dólares. El 1 de mayo de 2018,
Facebook anunció sus planes para lanzar un nuevo servicio de citas. Según
Mark Zuckerberg: «Hay 200 millones de personas en Facebook identificados
como solteros, así que claramente hay algo que hacer aquí». A raíz del
escándalo de minería de datos de Cambridge Analytica, el servicio contará con
funciones de privacidad, y tus amigos no podrán ver tu perfil de citas.
Hay más de 900.000 objetos con los que el usuario puede interactuar en
Facebook (páginas, grupos y eventos).
Facebook además también utiliza cassandra debido a su carácter NoSQL que garantiza
mejores tiempos de respuesta frente a una BD SQL y a la capacidad de crecimiento masivo,
este es utilizado por ejemplo en las búsquedas en la bandeja de entrada con una
implementación de 200 nodos.
6
¿Qué otros sistemas de almacenamiento
son utilizados por Facebook?
Memcached:
Es un sistema de almacenamiento en caché de memoria que se utiliza para acelerar los sitios
web dinámicos basados en bases de datos (como Facebook) mediante el almacenamiento
en caché de datos y objetos en la RAM para reducir el tiempo de lectura.
Tener un sistema de almacenamiento en caché permite que Facebook sea tan rápido como
lo es para recuperar sus datos. Si no tiene que ir a la base de datos, solo obtendrá sus datos
de la memoria caché según su ID de usuario.
Scribe:
Es un servidor para agregar datos de registro transmitidos en tiempo real desde una gran
cantidad de servidores . Fue diseñado para ser escalable , extensible sin modificación del
lado del cliente y robusto al fallo de la red o de cualquier máquina específica.
7
Haystack:
La aplicación de fotos es una de las características más populares de Facebook. Hasta la
fecha, los usuarios han subido más de 15 mil millones de fotos, lo que convierte a Facebook
en el mayor sitio web para compartir fotos. Para cada foto cargada, Facebook genera y
almacena cuatro imágenes de diferentes tamaños, lo que se traduce en un total de 60 mil
millones de imágenes y 1.5 PB de almacenamiento. La tasa de crecimiento actual es de 220
millones de fotos nuevas por semana, lo que se traduce en 25 TB de almacenamiento
adicional consumido semanalmente. En el pico hay 550.000 imágenes servidas por
segundo. Estos números representan un desafío importante para la infraestructura de
almacenamiento de fotos de Facebook.
Haystack presenta un almacén de objetos genérico basado en HTTP que contiene agujas
que se asignan a objetos opacos almacenados. Almacenar fotos como agujas en el pajar
elimina la sobrecarga de metadatos al agregar cientos de miles de imágenes en un solo
archivo de tienda de pajar. Esto mantiene la sobrecarga de metadatos muy pequeña y nos
permite almacenar la ubicación de cada aguja en el archivo de la tienda en un índice en
memoria. Esto permite la recuperación de los datos de una imagen en un número mínimo
de operaciones de E / S, eliminando toda la sobrecarga de metadatos innecesarios.
8
Como agregados a HPHPc, los ingenieros de Facebook también crearon un "modo
desarrollador" de HipHop (una versión interpretada del motor de ejecución de PHP,
conocido como HPHPi), y el Depurador HipHop (conocido como HPHPd). Estos agregados
permitían a los desarrolladores correr código PHP a través de la misma lógica provista por
HPHPc mientras permitía depurar el código PHP interactivamente definiendo inspectores
de código, interruptores de ejecución, etc. La ejecución de código a través de HPHPi
muestra menor rendimiento comparado con HPHPc, pero beneficia a los desarrolladores de
tener ambos motores en funcionamiento, uno para desarrollo y el otro en producción.
HPHPi y HPHPd se publicaron como código abierto en 2010.
HPHPc cumplió cabalmente sus metas, especialmente en conjunto con Facebook
permitiendo que facebook.com corriera mucho más rápido y utilizando menos recursos. Sin
embargo, en 2013, Facebook dejó HPHPc obsoleto en favor de su nuevo producto, HipHop
Virtual Machine (HHVM), el cual es un compilador basado en just-in-time (JIT) de PHP,
también desarrollado por Facebook.6 Hay varias razones para esto; una de ellas es que la
curvatura de mejoras de rendimiento de HPHPc fue decayendo. Además, HPHPc no tenía
soporte completo para PHP, incluyendo los constructores create_function() y eval(), e
implicaba gran consumo de tiempo y recursos requeridos para generar binarios compilados
de más de 1 GB, los cuales debían ser distribuidos entre los servidores de Facebook en corto
tiempo. Adicionalmente, mantener código HPHPc y HPHPi en paralelo (necesario para
mantener la consistencia entre los entornos de desarrollo y producción) se volvió
engorroso. Finalmente, HPHPc no fue un reemplazo directo del motor Zend, requiriendo
que los consumidores cambiasen los procesos de desarrollo y despliegue.
Apache:
Es un popular servidor web multiplataforma de fuente abierta que, según los números, es
el servidor web más popular que existe. Es activamente mantenido por Apache Software
Foundation.
Algunas empresas de alto perfil que utilizan Apache incluyen a Cisco, IBM, Salesforce,
General Electric, Adobe, VMware, Xerox, LinkedIn, Facebook, Hewlett-Packard, AT & T,
Siemens, eBay y muchas más. (fuente).
Además de su popularidad, también es uno de los servidores web más antiguos, con su
primer lanzamiento en 1995. Muchos alojamientos de cPanel utilizan Apache hoy. Al igual
que otros servidores web, Apache potencia los aspectos detrás de escena de servir los
archivos de su sitio web a los visitantes.
Debido a que Apache no funciona tan bien en algunos puntos de referencia, especialmente
para sitios web estáticos o sitios web con alto tráfico, Kinsta utiliza el servidor web NGINX en
lugar de Apache. Aunque NGINX no ha existido durante tanto tiempo como Apache, ha
crecido rápidamente en popularidad y cuota de mercado desde su lanzamiento en 2004.
9
¿Qué tecnología utiliza Facebook para
almacenar su Big Data?
Se ha discutido públicamente que Facebook usa Hadoop para su almacén de
big data y Hive para consultas paralelas de reducción de mapa contra esa
tienda.
Pero la pérdida del Namenode no puede ser tolerada. Todas las operaciones de
metadatos pasan por Namenode, por lo que si el Namenode no está disponible,
ningún cliente puede leer o escribir en HDFS. Los clientes aún pueden leer bloques
de datos individuales de Datanodes si el Namenode está inactivo, pero para todos
los efectos, si el Namenode no está disponible, HDFS está inactivo, y los usuarios
y aplicaciones que dependen de HDFS no podrán funcionar correctamente.
10
En Facebook, queríamos saber el alcance del problema "Namenode-as-SPOF" y
construir un sistema que nos permitiera superar las limitaciones de Namenode como
SPOF. Mantén la imagen de arriba en mente, volveremos a ella. Pero antes de
hacerlo, hablemos un poco sobre el uso de HDFS en Facebook, para darle más
contexto sobre en qué hemos estado trabajando y a qué problemas nos hemos
enfrentado.
11
El HDFS Namenode, aunque es un componente importante de HDFS, es una parte
pequeña pero significativa de nuestro almacén de datos general. Si bien solo el 10%
de los problemas generales del Almacén y el tiempo de inactividad no planificado
se podrían prevenir si tuviéramos algún tipo de Namenode de alta disponibilidad,
eliminar el Namenode como SPOF sigue siendo una gran victoria porque nos
permite realizar el mantenimiento programado del hardware y software. De hecho,
estimamos que eliminaría el 50% de nuestro tiempo de inactividad planificado, el
tiempo en el que el clúster no estaría disponible.
12
Entonces, ¿cómo sería un Namenode de alta disponibilidad y cómo funcionaría?
Veamos un nuevo diagrama, mostrando un Namenode altamente disponible:
13
En esta configuración, los clientes pueden hablar con un nombre de usuario primario
o en espera. De la misma manera, los Datanodes podrían enviar informes de bloque
a los Nombres de acceso principal o En espera. Eso es esencialmente lo que hemos
hecho con Avatarnode, nuestra solución para un Namenode de alta disponibilidad.
Para abordar las deficiencias arquitectónicas del solo Namenode, hace casi dos
años comenzamos a trabajar en Facebook en el Avatarnode. El Avatarnode, que
Facebook ha contribuido de nuevo a la comunidad como código abierto, ofrece un
Namenode de alta disponibilidad con conmutación por error en caliente y failback.
Después de innumerables horas de pruebas y corrección de errores, el Avatarnode
ahora está en producción en Facebook ejecutando nuestros grupos más grandes
de Hadoop Data Warehouse gracias en gran parte a Dmytro Molkov.
14
1) Hay un Avatarnode primario y un Standby. Cualquiera de los Avatarnode puede
adoptar el "Avatar" primario o el Standby.
15
Para aquellos que sienten curiosidad por el nombre, Dhruba Borthakur, uno de
nuestros desarrolladores de HDFS, se le ocurrió cuando apareció la película de
James Cameron "Avatar" (supongo que deberíamos estar contentos de que no fuera
1998, o podríamos haber tenido " Titanicnode ").
Andrew Ryan ha estado trabajando con Hadoop en Facebook desde 2009. Durante
ese tiempo, ayudó a hacer crecer nuestra infraestructura Hadoop y HDFS desde un
único clúster de 600 TB en un centro de datos a más de 100 clusters HDFS en
muchos centros de datos.
16
CONCLUSIONES
Se dio a conocer el origen e historia de Facebook que lo llevo a ser la red social más
grande del mundo.
Se mostró con datos reales la inmensidad de data que Facebook debe procesar y
almacenar diariamente y como esto lo lleva a nuevos retos en el futuro.
Se mostraron las diferentes tecnologías de software que Facebook utiliza para almacenar y
procesar los datos además también se mostró el sistema de archivos que este lleva en sus
servidores para que su uso sea optimo en la medida de lo posible.
17
BIBLIOGRAFIA
https://sites.google.com/site/logicaglobal1/en-que-
esta-programado-facebook---facebook-no-es-solo-php
https://geeksroom.com/2012/10/bigdata-que-
tecnologia-utilizan-twitter-facebook-o-paypal-para-sus-
bases-de-datos/67204/
https://hipertextual.com/2011/02/7-tecnologias-de-
software-que-sostienen-a-facebook
https://www.paradigmadigital.com/dev/cassandra-la-
dama-de-las-bases-de-datos-nosql/
https://es.wikipedia.org/wiki/HipHop_for_PHP
https://kinsta.com/es/base-de-conocimiento/que-es-
apache/
https://www.facebook.com/notes/facebook-
engineering/under-the-hood-hadoop-distributed-
filesystem-reliability-with-namenode-and-
avata/10150888759153920/
18
19