1. Big Data en
En Tema:
Que es Facebook
Facebook en Números
Reto Tecnológico
Descripción de Hadoop
Esquema de solución
Conclusión
Juan Pablo Frias Robles: Desarrollador BI
2. Que es Facebook
*Facebook (pronunciación [feɪsbʊk]) es un sitio web de redes sociales creado por Mark
Zuckerberg y fundado junto a Eduardo Saverin, Chris Hughes y Dustin Moskovitz. Originalmente
era un sitio para estudiantes de la Universidad de Harvard. Su propósito era diseñar un espacio
en el que los alumnos de dicha universidad pudieran intercambiar una comunicación fluida y
compartir contenido de forma sencilla a través de Internet. Fue tan innovador su proyecto que
con el tiempo se extendió hasta estar disponible para cualquier usuario de la red.
A mediados de 2007 lanzó las versiones en francés, alemán y español traducidas por usuarios de
manera no remunerada, principalmente para impulsar su expansión fuera de Estados Unidos, ya
que sus usuarios se concentraban en Estados Unidos, Canadá y Reino Unido.
3. Facebook en Números
Inicia operaciones en 2004 para usuarios de universidades y en 2007 se abre a todos los usuarios
en internet, para entonces recaudo datos por 15 Terabytes en un RDBMS comercial y para 2009
manejaban 700 Terabytes de datos y 300 millones de usuarios.
Traducido a 140 idiomas
Los ingresos por concepto de publicidad al trimestre son de más de 4.3 mil mdd (2015)
1,09 millones de usuarios activos al día (promedio marzo 2016)
Se dan alrededor de 4.500 millones de likes al día (2014)
se comparten 3,3 millones de actualizaciones (2014)
Los usuarios gastan aproximadamente 351 minutos al mes en la red social (2014)
Cada día agrega 4 Petabytes de almacenamiento de información de sus usuarios (2015)
4. En el lanzamiento de la
plataforma el esquema
de almacenamiento
estaba planteado
en el RDBMS MYSQL
5. Reto Tecnológico
Siendo 2008 con decenas de millones de usuarios y más de una página de mil millones de visitas
todos los días, Facebook termina acumulando grandes cantidades de datos.
Uno de los retos a los se enfrentaron desde los primeros días es el desarrollo de una forma
escalable de almacenamiento y procesamiento de todos estos bytes ya que con estos datos
históricos es una parte muy importante de cómo podemos mejorar la experiencia del usuario en
Facebook.
Esto sólo puede hacerse mediante la potenciación de sus
ingenieros y analistas con herramientas fáciles de usar para
extraer y manipular grandes conjuntos de datos.
6. Descripción de Hadoop
Hadoop es un Framework para almacenar y procesar grandes volúmenes de datos a través de
grupos de ordenadores.
PROS
Escalable: almacena y procesa terabytes, petabytes o zetabytes.
Económico: distribuye los datos y cargas a clúster de computadoras comúnmente disponible, los
clúster pueden componerse de miles de nodos.
Eficiente: Distribuyendo los datos puede procesar paralelamente en los nodos.
Confiable: Mantiene automáticamente copias de los datos en los múltiples nodos y mantiene
tareas para la prevención de fallas y posee resiliencia.
Contras:
Map-reduce difícil de programar ( Requiere conocimiento sql, bash, Python)
Necesidad de publicar datos en esquemas conocidos
7. Hadoop se basa en tres componentes fundamentales:
HDFS (Un sistema de archivos distribuido que proporciona alto rendimiento de acceso a datos de la
aplicación. )
Hadoop MapReduce (La plataforma para procesamiento distribuido de grandes conjuntos de datos.)
Hadoop Common (Las utilidades comunes sobre las cuales se apoyan los sub-proyectos de Hadoop.)
8. Solución: Hadoop HIVE
HIVE se compone de los siguientes componentes principales:
* MetaStore: Para almacenar los metadatos.
* Driver: El componente que gestiona el ciclo de vida de una declaración HiveQL medida que se
mueve a través de la colmena. El conductor también mantiene un identificador de sesión y cualquier
sesión estadística.
* Compilador de consultas y el motor de ejecución: Para convertir consultas SQL a una secuencia de
jobs map / reduce que a continuación se ejecutan en Hadoop.
*Motor de Ejecución: El motor de ejecución interactúa con la subyacente instancia Hadoop.
*HIVE Server: El componente que proporciona una segunda mano interfaz y un servidor JDBC/ODBC
y proporciona una manera de integrar con otras aplicaciones a Hive.
* SerDe y ObjectInspectors: las interfaces programables e implementaciones de formatos y tipos de
datos comunes.
* UDF y UDAF: las interfaces programables e implementaciones para las funciones definidas por el
usuario (escalares y funciones agregadas).
* Clientes: Comando cliente de línea similar a la línea de comandos de MySQL y una interfaz de
usuario web.
Esquema de Solución
9. Los mismos trabajos que habían tenido más de un
día para completar ahora podrían completarse en
unas pocas horas utilizando Hadoop.
Con Hadoop en 2009 se tenían 700TB de
datos en el almacén, los cuales 2.1PB
estaban en crudo en el espacio Hadoop
después de contar con 3 replicaciones
unidireccionales. Se añadían 5TB (15TB
después de la replicación) de datos
comprimidos al día. Se Procesaban 75TB
de datos al día.
10. Las empresas están en busca de hacerse de la habilidad de administrar y posteriormente analizar,
la gran cantidad de datos que se generan exponencialmente desde el boom de internet y que
anteriormente la tecnología no podía ofrecer una solución para ello. Empresas importantes de
diferentes verticales como Yahoo!, amazon, Google, ebay y otras están afianzados de la
plataforma Hadoop como lo hace Facebook.
Al ser herramientas de reciente creación y poca explotación, para los técnicos de Facebook les
fue complicado el generar los programas de map-reduce y en general su uso. Están afrontando
las carencias que cada vez son menos de la plataforma Hadoop. Esto con el beneficio
cuantificable de reducir de varios días a un par de horas el procesamiento de la información en
aquel 2009 en donde implementaron la herramienta.
Conclusión