SlideShare una empresa de Scribd logo
1 de 74
17 Mayo 2016
Del lado oscuro de BIG DATA
al INGENIERO del SIGLO XXI
Quién soy
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
José Carlos García Serrano
Arquitecto Big Data en Stratio.
Granadino e ingeniero por la ETSII, master de Big Data en la
UTad, certificado en Spark y AWS
Amante de las nuevas tecnologías y de las arquitecturas
basadas en Big Data
FanBoy de cosas como:
● Scala
● Spark
● Akka
● MongoDB
● Cassandra
Pero todos tenemos un pasado:
● Delphi
● C++
● BBDD SQL
● Hadoop
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
Filosofía de Silicon Valley en España
Un modelo organizativo distinto a la consultoría
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
I+D y proyectos Big Data Pure SPARK
José Carlos García Serrano
Arquitecto Big Data
jcgarcia@stratio.com
CONTACTO
DICE
BIG DATA PASADO,
PRESENTE Y FUTURO
• Google
• Hadoop / Spark
• Marco social/empresarial
1 2 3HADOOP
• HDFS
• Map / Reduce
• Hive - Pig - Mahout -
HBase
SPARK
• Paradigma
• Arquitectura
• Sql - Streaming -
Mllib - GraphX
NOSQL
• MongoDB
• Cassandra
• ElasticSearch
4 5 6EL MUNDO REAL DEMO
PASADO - PRESENTE - FUTURO
1 BIG DATA
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DATOS, DATOS Y …
MÁS DATOS
http://pennystocks.la/internet-in-real-time/
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
SERÁ VERDAD?? QUÉ DICE GARTNER ...
2013-2014 2015
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
1. BIG DATA, PASADO - PRESENTE - FUTURO > GOOGLE
GOOGLE CONTIGO EMPEZÓ TODO!!
1.1 Google (C++)
• 2003 - Google File System (GFS).
http://static.googleusercontent.com/media/research.google.com/es//archive/gfs-sosp2003.pdf
• 2004 - Map Reduce (Simplified Data Processing on Large Clusters).
http://static.googleusercontent.com/media/research.google.com/es//archive/mapreduce-osdi04.pdf
ALMACENAMIENTO + PROCESAMIENTO
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
1. BIG DATA, PASADO - PRESENTE - FUTURO > HADOOP
1.2 Apache Hadoop (Java)
• 2006 - Doug Cutting ficha por Yahoo.
20 - 40 Nodos trabajando simultáneamente
• 2008 - Hadoop es una realidad y nace Cloudera
Google tiene su propio sistema
• 2011 - Hortonworks
42000 Nodos en Yahoo
• 2011 + Es usado por las grandes empresas del mundo
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
1. BIG DATA, PASADO - PRESENTE - FUTURO > SPARK
1.3 Apache Spark (Scala)
• 2009 - Matei Zaharia comenzó el proyecto en UC Berkeley's AMPLab
• 2010 - Open Source
• 2014 - Forma parte de Apache 2.0. Top Level Project
• 2015 - Más de 1000 contributors
• 2016 + La mayoría de los clústeres de Hadoop son migrados a Spark
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
FUTURO ?? NADIE LO SABE ....
1. BIG DATA, PASADO - PRESENTE - FUTURO > FUTURO
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
1. BIG DATA, PASADO - PRESENTE - FUTURO > SOC. / EMP
1.4 Marco social / empresarial
• La sociedad cambió con la llegada de:
Internet
Redes Sociales
SmartPhones
• Empresas como Google, Yahoo, Facebook, Amazon, Twitter son los grandes que dominan el mundo
• Otras empresas como Netflix, Uber, Spotify o Airbnb han cambiado el modelo de negocio
• La banca, las constructoras, las retails o las telcos están condenadas a cambiar o morir
http://pennystocks.la/battle-of-internet-giants/
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
1. BIG DATA, PASADO - PRESENTE - FUTURO > SOC. / EMP
Y EN ESPAÑA?? ATRASADOS COMO
SIEMPRE
• Todos quieren hacer Big Data pero nadie sabe qué hacer con sus datos
• La mayoría de los proyectos fracasarán
• Los ingenieros y los datos deberían ser el core de su negocio, pero
siguen externalizando
• Seguimos anclados tecnológicamente en el pasado tanto a nivel
empresarial como educativo
• La mayoría de proyectos Big Data son de BBVA, Telefónica, Santander,
Retail y Seguros
• Los ingenieros Big Data necesitan tener un gran número de skills
Persona anclada en el pasado!!
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
SOMOS INGENIEROS Y DEPENDEN DE NOSOTROS
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
SOMOS INGENIEROS Y DEPENDEN DE NOSOTROS
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
PERO EN ESPAÑA SOMOS CARNE DE CONSULTORA
HADOOP
2
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
2. HADOOP > ECOSISTEMA
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
2. HADOOP > HDFS
2.1 HDFS (Hadoop Distributed File System)
• Envuelve al sistema de ficheros del SO
• Instalado en maquinas commodity
• Podemos tener nuestros datos repartidos por el mundo (Amazon)
• HA (High Availability)
• Los SSD evitaron muchos cuellos de botella
• Es la base para todo entorno de Big Data: Spark, Hadoop, Flink
• Permite la creación de “Data Lakes”
• Apache Parquet + Hdfs es la solución para muchos problemas de Big Data
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
HDFS tiene en cuenta la localidad del dato: racks, topología de red ...
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
El tamaño de bloque es clave para la optimización de lecturas, escrituras y
trabajos de Map/Reduce
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
2. HADOOP > MAP - REDUCE
2.2 Map Reduce
• Algoritmo que permite la resolución de problemas de forma distribuida
• Las máquinas del cluster trabajan en paralelo
• Tolerante a fallos
• Todos recordamos divide y vencerás, verdad?? no inventaron la rueda…
• La fase de shuffle es su mayor problema
• Datos key - value
Recordemos… el verdadero cuello de botella en todos los entornos de Big Data:
La red!!
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
Split: [k, v] Sort by: [k] Merge: [k, [v1, v2, …. vn]]
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
Pero… somos desarrolladores!! esto en qué se traduce??
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
2. HADOOP > Hive - Pig - Mahout - HBase
• Capa SQL sobre datos de HDFS
• Son almacenados de forma que sean leídos rápidamente
• Una consulta SQL es traducida a trabajos Map Reduce
• Es usado por la mayoría de las empresas
• Lenguaje de scripting para manejar datos de ficheros
de HDFS
• Permite realizar ETL básicas y avanzadas
• Funciones como JOIN, GROUP BY, UNION, etc ...
• Es extensible mediante clases de Java
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
2. HADOOP > Hive - Pig - Mahout - HBase
• Basada en Big Table de Google
http://static.googleusercontent.com/media/research.google.com/es//archive/bigtable-osdi06.pdf
• Base de datos Columnar. El modelado es la clave.
• No permite SQL, para eso está Apache Phoenix (ODBC, JDBC)
• Almacena en HDFS y guarda en memoria (Bloom Filters)
• Fault Tolerance
• Accedemos entre millones de registros en ms
• Librería de Algoritmos de Machine Learning
• Son implementados de forma distribuida
• Se ejecutan dentro de Hadoop con la filosofía Map Reduce
• Se está migrando todo a Spark y Flink
SPARK
3
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
3. SPARK > PARADIGMA
3.1 Paradigma
• Es un sistema de computación distribuida, optimizando el rendimiento
• Usa la memoria RAM de todos los nodos del cluster
• El disco duro es usado para ser Fault Tolerance, está integrado con HDFS
• Resuelve problemas de Big Data tan dispares como:
Machine Learning
Sql
Real Time
ETL
• Usa cluster managers para ejecutarse: Yarn, Mesos y Spark StandAlone
• Tiene una API para Scala, Java y Python
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
3. SPARK > ARQUITECTURA
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
3. SPARK > ARQUITECTURA
Spark StandAlone - YARN - MESOS
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
RDD (Resilient Distributed Dataset) es la unidad básica de procesamiento
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
3. SPARK > ARQUITECTURA
RDD
• Es una colección de elementos distribuida en memoria
• Un RDD no puede ser modificado (Inmutable)
• Está dividido en particiones y cada una de ellas puede estar en un nodo distinto
• Cuando se ejecuta una transformación o una acción, es computada en cada partición
• Podemos distribuir tanto a nivel de cluster como a nivel de cores
Programación distribuida by the face!! Yeah!!
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
Las transformaciones son Lazy
Si no implican Shuffle se ejecutan en la memoria de cada nodo
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
3. SPARK > SQL - STREAMING - MLlib - GRAPHX
3.3 SQL
• Permite tener una abstracción para acceder a múltiples Datasources
• Lenguaje SQL para BBDD NoSQL que no soporten operaciones como Joins, Group by, Where…
• El proceso resumido normalmente es:
● Parser
● Logical Plan
● Physical Plan
• Su API es extensible y podemos tener datasources propios
Un lenguaje SQL único para dominarlos a todos!!
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
3. SPARK > SQL - STREAMING - MLlib - GRAPHX
3.3 Streaming
• API de Real Time para realizar operaciones sobre datos de Streaming
• No es un Streaming puro, realiza micro batches
• Cada n milisegundos realizamos operaciones sobre los RDDs generados
• Podemos mezclar batch + streaming
• Su API es extensible y podemos tener fuentes de datos propias
Los datos en Streaming multiplican su valor
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
APIs extensibles, implementando pocos métodos tenemos uno propio
Kafka es la niña bonita del baile, verdadero streaming con un throughput único
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
3. SPARK > SQL - STREAMING - MLlib - GRAPHX
3.3 MLlib
• API de Machine Learning para ejecutar algoritmos de forma distribuida
• La API se está extendiendo para ejecutar algoritmos sobre Streaming
• Clustering, redes neuronales, clasificación, etc...
• Su API es extensible, implementemos nuestros algoritmos si somos capaces de paralelizarlos!
La magia de Big Data está aquí, pero tenemos que ser Data Scientists ...
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
3. SPARK > SQL - STREAMING - MLlib - GRAPHX
3.3 GraphX
• API de Grafos para tener una abstracción y algoritmos de uso específico
• Muchas bbdd de grafos en el mercado, GraphX no se casa con nadie
• Algoritmos como pagerank se realizan con pocas líneas de código
• La velocidad de cómputo es optimizada con su filosofía sobre datos en memoria
No necesitamos tener una BBDD de grafos instalada en una
arquitectura Big Data para ejecutar un algoritmo sobre nuestros datos!!
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
NOT ONLY SQL
4
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
Recordemos conceptos...
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
4. NOSQL > MONGODB
4.1 MongoDB
• Base de datos orientada a documentos BSON (Binary-JSON)
• Útil para desarrollar backends y frontends Web, pero es mucho más…
• Alta disponibilidad y Tolerancia a Fallos (Replica Set)
• Particionado (Sharding)
• Lenguaje de consulta propio: Find, match, aggregation…
• El modelado de la base de datos es clave para realizar las consultas
• No es transaccional
• No permite tener joins entre tablas hasta esta última versión
• Subdocumentos JSON, tipos de dato array ...
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
HA y Fault Tolerance Replica Set
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
Particionado Sharding
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
4. NOSQL > CASSANDRA
4.2 Cassandra
• Orientado a filas, híbrido entre una base de datos Key-Value y una columnar
• Apadrinada por DataStax
• Optimizada para realizar escrituras y lecturas basadas en la PK (índices sec.)
• Tolerante a fallos, Particionado y Alta disponibilidad
• El modelado de datos nos define las consultas que podemos hacer
• Lenguaje SQL limitado, no hay joins
• Los datos al leerlos pueden no ser consistentes, si no se cumple:
W + R > N
Un anillo para gobernarlos a todos
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
HA - FT - Particionado Anillo de Cassandra
Todos los nodos son iguales,
no hay roles distintos
La clave de particionado,
Partition Key
Podemos definir un nivel de
réplica
Escalado uniforme:
+nodos = +throughput
tokens
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
4. NOSQL > ELASTICSEARCH
4.3 ElasticSearch
• Es un motor de búsqueda y analítica distribuido. No es una BBDD!!
• Se basa en Índices distribuidos en memoria (Invertex Index)
• Basado en Apache Lucene
• Apadrinado por Elastic
• Ligada a documentos JSON
• Libre de esquema, con autodescubrimiento y creación de mappings
• RESTful API para consulta, lenguaje propio basado en Lucene (facets, percolate, tokenize, etc...)
• Auto descubrimiento de nodos y escalado horizontal
• Tolerante a fallos, Particionado y Alta disponibilidad
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
La memoria se corrompe, los índices también!!
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
Pero en elastic hacen las cosas muy muy bien…
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
EL MUNDO REAL
5 GO TO SPACE
STRATIO
Imposible competir con ellos, y si hacemos las cosas bien??
● Batch + Real Time
● Extraer inteligencia de los datos
● Machine Learning + Big Data
● Nuevas fuentes de datos como IoT, social sentiment ...
● Integrar obsoletos sistemas de BI, mejor juntos que separados
● Confianza, no quedarse en PoC y llegar a producción
● Exponer el dato como el core del negocio
http://pennystocks.la/battle-of-internet-giants/
DATA CENTRIC
DATA
Mobile APP Campaign
Management
E-commerce
Digital
Marketing
Legacy
Application
Call centerSAP : ERP
ATG
TPV APP
CRM
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
Y nosotros qué?? Somos desarrolladores!!
Lo quieren para mercadear con el!!
Hay que evangelizar...
Estos no existen, son malos
desarrolladores Back y Front
• Uso óptimo de los recursos y la memoria
• Sobre la JVM, tenemos todas las librerías de Java
• Herencia y Polimorfismo
• Programación funcional
• No queremos efectos de lado
• Spark - Flink => funciones de orden superior
• En pocas líneas hacemos mucho
• Modelo de actores con Akka, concurrencia controlada!!
• Recursividad elevada a la máxima potencia
• Asincronía => Promesas => Futuros => API REST de
nueva generación
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
De qué más tenemos que saber?? y que mole??
Pero esto lo dejamos para otro día ...
DEMO
6
DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
BIG DATA
CHILD`S PLAY
Gracias!!
Stratio busca Talento
Contacto:
jcgarcia@stratio.com
es.linkedin.com/in/gserranojc

Más contenido relacionado

Similar a Lado oscuro de big data y el ingeniero del siglo xxi

¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache SparkSocialmetrix
 
Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tardeIgnacio Segura
 
Tech tuesday Big data with horton works
Tech tuesday Big data with horton worksTech tuesday Big data with horton works
Tech tuesday Big data with horton worksnetmind
 
Herramientas de visualización de datos
Herramientas de visualización de datosHerramientas de visualización de datos
Herramientas de visualización de datosBBVA API Market
 
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)pmluque
 
Data lake y virtualización. Ejes para una arquitectura abierta en big data v6
Data lake y virtualización. Ejes para una arquitectura abierta en big data v6Data lake y virtualización. Ejes para una arquitectura abierta en big data v6
Data lake y virtualización. Ejes para una arquitectura abierta en big data v6Dell EMC
 
Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis CloudAppi
 
Big Data: Presente y futuro. Ponente: Francisco Gallego
Big Data: Presente y futuro. Ponente: Francisco GallegoBig Data: Presente y futuro. Ponente: Francisco Gallego
Big Data: Presente y futuro. Ponente: Francisco GallegoCICE
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoBig Data Spain
 
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACKKEEDIO
 
Big Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los DatosBig Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los DatosOscar Corcho
 
Azure Spark - Big Data - Coresic 2016
Azure Spark - Big Data - Coresic 2016Azure Spark - Big Data - Coresic 2016
Azure Spark - Big Data - Coresic 2016nnakasone
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduceVictoria López
 
Inteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y dockerInteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y dockerLuis Beltran
 

Similar a Lado oscuro de big data y el ingeniero del siglo xxi (20)

¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
Spark meetup barcelona
Spark meetup barcelonaSpark meetup barcelona
Spark meetup barcelona
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache Spark
 
Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tarde
 
Tech tuesday Big data with horton works
Tech tuesday Big data with horton worksTech tuesday Big data with horton works
Tech tuesday Big data with horton works
 
Herramientas de visualización de datos
Herramientas de visualización de datosHerramientas de visualización de datos
Herramientas de visualización de datos
 
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
 
Data lake y virtualización. Ejes para una arquitectura abierta en big data v6
Data lake y virtualización. Ejes para una arquitectura abierta en big data v6Data lake y virtualización. Ejes para una arquitectura abierta en big data v6
Data lake y virtualización. Ejes para una arquitectura abierta en big data v6
 
Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis
 
Big Data: Presente y futuro. Ponente: Francisco Gallego
Big Data: Presente y futuro. Ponente: Francisco GallegoBig Data: Presente y futuro. Ponente: Francisco Gallego
Big Data: Presente y futuro. Ponente: Francisco Gallego
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén Casado
 
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
 
Big Data Begins
Big Data BeginsBig Data Begins
Big Data Begins
 
Big Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los DatosBig Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los Datos
 
Azure Spark - Big Data - Coresic 2016
Azure Spark - Big Data - Coresic 2016Azure Spark - Big Data - Coresic 2016
Azure Spark - Big Data - Coresic 2016
 
Spark Hands-on
Spark Hands-onSpark Hands-on
Spark Hands-on
 
TODO.pdf
TODO.pdfTODO.pdf
TODO.pdf
 
Big Data y Business Intelligence con Software Open Source
Big Data y Business Intelligence con Software Open SourceBig Data y Business Intelligence con Software Open Source
Big Data y Business Intelligence con Software Open Source
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
 
Inteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y dockerInteligencia artificial in house con servicios cognitivos y docker
Inteligencia artificial in house con servicios cognitivos y docker
 

Lado oscuro de big data y el ingeniero del siglo xxi

  • 1. 17 Mayo 2016 Del lado oscuro de BIG DATA al INGENIERO del SIGLO XXI
  • 2. Quién soy DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI José Carlos García Serrano Arquitecto Big Data en Stratio. Granadino e ingeniero por la ETSII, master de Big Data en la UTad, certificado en Spark y AWS Amante de las nuevas tecnologías y de las arquitecturas basadas en Big Data FanBoy de cosas como: ● Scala ● Spark ● Akka ● MongoDB ● Cassandra Pero todos tenemos un pasado: ● Delphi ● C++ ● BBDD SQL ● Hadoop
  • 3. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI Filosofía de Silicon Valley en España Un modelo organizativo distinto a la consultoría
  • 4. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI I+D y proyectos Big Data Pure SPARK
  • 5. José Carlos García Serrano Arquitecto Big Data jcgarcia@stratio.com CONTACTO DICE BIG DATA PASADO, PRESENTE Y FUTURO • Google • Hadoop / Spark • Marco social/empresarial 1 2 3HADOOP • HDFS • Map / Reduce • Hive - Pig - Mahout - HBase SPARK • Paradigma • Arquitectura • Sql - Streaming - Mllib - GraphX NOSQL • MongoDB • Cassandra • ElasticSearch 4 5 6EL MUNDO REAL DEMO
  • 6. PASADO - PRESENTE - FUTURO 1 BIG DATA
  • 7. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI DATOS, DATOS Y … MÁS DATOS http://pennystocks.la/internet-in-real-time/
  • 8. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 9. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI SERÁ VERDAD?? QUÉ DICE GARTNER ... 2013-2014 2015
  • 10. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 11. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 1. BIG DATA, PASADO - PRESENTE - FUTURO > GOOGLE GOOGLE CONTIGO EMPEZÓ TODO!! 1.1 Google (C++) • 2003 - Google File System (GFS). http://static.googleusercontent.com/media/research.google.com/es//archive/gfs-sosp2003.pdf • 2004 - Map Reduce (Simplified Data Processing on Large Clusters). http://static.googleusercontent.com/media/research.google.com/es//archive/mapreduce-osdi04.pdf ALMACENAMIENTO + PROCESAMIENTO
  • 12. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 1. BIG DATA, PASADO - PRESENTE - FUTURO > HADOOP 1.2 Apache Hadoop (Java) • 2006 - Doug Cutting ficha por Yahoo. 20 - 40 Nodos trabajando simultáneamente • 2008 - Hadoop es una realidad y nace Cloudera Google tiene su propio sistema • 2011 - Hortonworks 42000 Nodos en Yahoo • 2011 + Es usado por las grandes empresas del mundo
  • 13. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 1. BIG DATA, PASADO - PRESENTE - FUTURO > SPARK 1.3 Apache Spark (Scala) • 2009 - Matei Zaharia comenzó el proyecto en UC Berkeley's AMPLab • 2010 - Open Source • 2014 - Forma parte de Apache 2.0. Top Level Project • 2015 - Más de 1000 contributors • 2016 + La mayoría de los clústeres de Hadoop son migrados a Spark
  • 14. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI FUTURO ?? NADIE LO SABE .... 1. BIG DATA, PASADO - PRESENTE - FUTURO > FUTURO
  • 15. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 16. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 17. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 18. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 1. BIG DATA, PASADO - PRESENTE - FUTURO > SOC. / EMP 1.4 Marco social / empresarial • La sociedad cambió con la llegada de: Internet Redes Sociales SmartPhones • Empresas como Google, Yahoo, Facebook, Amazon, Twitter son los grandes que dominan el mundo • Otras empresas como Netflix, Uber, Spotify o Airbnb han cambiado el modelo de negocio • La banca, las constructoras, las retails o las telcos están condenadas a cambiar o morir http://pennystocks.la/battle-of-internet-giants/
  • 19. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 1. BIG DATA, PASADO - PRESENTE - FUTURO > SOC. / EMP Y EN ESPAÑA?? ATRASADOS COMO SIEMPRE • Todos quieren hacer Big Data pero nadie sabe qué hacer con sus datos • La mayoría de los proyectos fracasarán • Los ingenieros y los datos deberían ser el core de su negocio, pero siguen externalizando • Seguimos anclados tecnológicamente en el pasado tanto a nivel empresarial como educativo • La mayoría de proyectos Big Data son de BBVA, Telefónica, Santander, Retail y Seguros • Los ingenieros Big Data necesitan tener un gran número de skills Persona anclada en el pasado!!
  • 20. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI SOMOS INGENIEROS Y DEPENDEN DE NOSOTROS
  • 21. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI SOMOS INGENIEROS Y DEPENDEN DE NOSOTROS
  • 22. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI PERO EN ESPAÑA SOMOS CARNE DE CONSULTORA
  • 24. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 2. HADOOP > ECOSISTEMA
  • 25. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 2. HADOOP > HDFS 2.1 HDFS (Hadoop Distributed File System) • Envuelve al sistema de ficheros del SO • Instalado en maquinas commodity • Podemos tener nuestros datos repartidos por el mundo (Amazon) • HA (High Availability) • Los SSD evitaron muchos cuellos de botella • Es la base para todo entorno de Big Data: Spark, Hadoop, Flink • Permite la creación de “Data Lakes” • Apache Parquet + Hdfs es la solución para muchos problemas de Big Data
  • 26. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI HDFS tiene en cuenta la localidad del dato: racks, topología de red ...
  • 27. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI El tamaño de bloque es clave para la optimización de lecturas, escrituras y trabajos de Map/Reduce
  • 28. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 2. HADOOP > MAP - REDUCE 2.2 Map Reduce • Algoritmo que permite la resolución de problemas de forma distribuida • Las máquinas del cluster trabajan en paralelo • Tolerante a fallos • Todos recordamos divide y vencerás, verdad?? no inventaron la rueda… • La fase de shuffle es su mayor problema • Datos key - value Recordemos… el verdadero cuello de botella en todos los entornos de Big Data: La red!!
  • 29. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI Split: [k, v] Sort by: [k] Merge: [k, [v1, v2, …. vn]]
  • 30. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI Pero… somos desarrolladores!! esto en qué se traduce??
  • 31. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 32. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 2. HADOOP > Hive - Pig - Mahout - HBase • Capa SQL sobre datos de HDFS • Son almacenados de forma que sean leídos rápidamente • Una consulta SQL es traducida a trabajos Map Reduce • Es usado por la mayoría de las empresas • Lenguaje de scripting para manejar datos de ficheros de HDFS • Permite realizar ETL básicas y avanzadas • Funciones como JOIN, GROUP BY, UNION, etc ... • Es extensible mediante clases de Java
  • 33. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 2. HADOOP > Hive - Pig - Mahout - HBase • Basada en Big Table de Google http://static.googleusercontent.com/media/research.google.com/es//archive/bigtable-osdi06.pdf • Base de datos Columnar. El modelado es la clave. • No permite SQL, para eso está Apache Phoenix (ODBC, JDBC) • Almacena en HDFS y guarda en memoria (Bloom Filters) • Fault Tolerance • Accedemos entre millones de registros en ms • Librería de Algoritmos de Machine Learning • Son implementados de forma distribuida • Se ejecutan dentro de Hadoop con la filosofía Map Reduce • Se está migrando todo a Spark y Flink
  • 35. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 3. SPARK > PARADIGMA 3.1 Paradigma • Es un sistema de computación distribuida, optimizando el rendimiento • Usa la memoria RAM de todos los nodos del cluster • El disco duro es usado para ser Fault Tolerance, está integrado con HDFS • Resuelve problemas de Big Data tan dispares como: Machine Learning Sql Real Time ETL • Usa cluster managers para ejecutarse: Yarn, Mesos y Spark StandAlone • Tiene una API para Scala, Java y Python
  • 36. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 37. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 3. SPARK > ARQUITECTURA
  • 38. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 3. SPARK > ARQUITECTURA Spark StandAlone - YARN - MESOS
  • 39. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI RDD (Resilient Distributed Dataset) es la unidad básica de procesamiento
  • 40. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 3. SPARK > ARQUITECTURA RDD • Es una colección de elementos distribuida en memoria • Un RDD no puede ser modificado (Inmutable) • Está dividido en particiones y cada una de ellas puede estar en un nodo distinto • Cuando se ejecuta una transformación o una acción, es computada en cada partición • Podemos distribuir tanto a nivel de cluster como a nivel de cores Programación distribuida by the face!! Yeah!!
  • 41. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI Las transformaciones son Lazy Si no implican Shuffle se ejecutan en la memoria de cada nodo
  • 42. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 43. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 44. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 3. SPARK > SQL - STREAMING - MLlib - GRAPHX 3.3 SQL • Permite tener una abstracción para acceder a múltiples Datasources • Lenguaje SQL para BBDD NoSQL que no soporten operaciones como Joins, Group by, Where… • El proceso resumido normalmente es: ● Parser ● Logical Plan ● Physical Plan • Su API es extensible y podemos tener datasources propios Un lenguaje SQL único para dominarlos a todos!!
  • 45. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 46. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 3. SPARK > SQL - STREAMING - MLlib - GRAPHX 3.3 Streaming • API de Real Time para realizar operaciones sobre datos de Streaming • No es un Streaming puro, realiza micro batches • Cada n milisegundos realizamos operaciones sobre los RDDs generados • Podemos mezclar batch + streaming • Su API es extensible y podemos tener fuentes de datos propias Los datos en Streaming multiplican su valor
  • 47. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI APIs extensibles, implementando pocos métodos tenemos uno propio Kafka es la niña bonita del baile, verdadero streaming con un throughput único
  • 48. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 49. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 3. SPARK > SQL - STREAMING - MLlib - GRAPHX 3.3 MLlib • API de Machine Learning para ejecutar algoritmos de forma distribuida • La API se está extendiendo para ejecutar algoritmos sobre Streaming • Clustering, redes neuronales, clasificación, etc... • Su API es extensible, implementemos nuestros algoritmos si somos capaces de paralelizarlos! La magia de Big Data está aquí, pero tenemos que ser Data Scientists ...
  • 50. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 51. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 3. SPARK > SQL - STREAMING - MLlib - GRAPHX 3.3 GraphX • API de Grafos para tener una abstracción y algoritmos de uso específico • Muchas bbdd de grafos en el mercado, GraphX no se casa con nadie • Algoritmos como pagerank se realizan con pocas líneas de código • La velocidad de cómputo es optimizada con su filosofía sobre datos en memoria No necesitamos tener una BBDD de grafos instalada en una arquitectura Big Data para ejecutar un algoritmo sobre nuestros datos!!
  • 52. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 53. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 55. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI Recordemos conceptos...
  • 56. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 4. NOSQL > MONGODB 4.1 MongoDB • Base de datos orientada a documentos BSON (Binary-JSON) • Útil para desarrollar backends y frontends Web, pero es mucho más… • Alta disponibilidad y Tolerancia a Fallos (Replica Set) • Particionado (Sharding) • Lenguaje de consulta propio: Find, match, aggregation… • El modelado de la base de datos es clave para realizar las consultas • No es transaccional • No permite tener joins entre tablas hasta esta última versión • Subdocumentos JSON, tipos de dato array ...
  • 57. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI HA y Fault Tolerance Replica Set
  • 58. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI Particionado Sharding
  • 59. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 4. NOSQL > CASSANDRA 4.2 Cassandra • Orientado a filas, híbrido entre una base de datos Key-Value y una columnar • Apadrinada por DataStax • Optimizada para realizar escrituras y lecturas basadas en la PK (índices sec.) • Tolerante a fallos, Particionado y Alta disponibilidad • El modelado de datos nos define las consultas que podemos hacer • Lenguaje SQL limitado, no hay joins • Los datos al leerlos pueden no ser consistentes, si no se cumple: W + R > N Un anillo para gobernarlos a todos
  • 60. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI HA - FT - Particionado Anillo de Cassandra Todos los nodos son iguales, no hay roles distintos La clave de particionado, Partition Key Podemos definir un nivel de réplica Escalado uniforme: +nodos = +throughput tokens
  • 61. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI 4. NOSQL > ELASTICSEARCH 4.3 ElasticSearch • Es un motor de búsqueda y analítica distribuido. No es una BBDD!! • Se basa en Índices distribuidos en memoria (Invertex Index) • Basado en Apache Lucene • Apadrinado por Elastic • Ligada a documentos JSON • Libre de esquema, con autodescubrimiento y creación de mappings • RESTful API para consulta, lenguaje propio basado en Lucene (facets, percolate, tokenize, etc...) • Auto descubrimiento de nodos y escalado horizontal • Tolerante a fallos, Particionado y Alta disponibilidad
  • 62. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI La memoria se corrompe, los índices también!!
  • 63. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI Pero en elastic hacen las cosas muy muy bien…
  • 64. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 65. EL MUNDO REAL 5 GO TO SPACE STRATIO
  • 66.
  • 67. Imposible competir con ellos, y si hacemos las cosas bien?? ● Batch + Real Time ● Extraer inteligencia de los datos ● Machine Learning + Big Data ● Nuevas fuentes de datos como IoT, social sentiment ... ● Integrar obsoletos sistemas de BI, mejor juntos que separados ● Confianza, no quedarse en PoC y llegar a producción ● Exponer el dato como el core del negocio http://pennystocks.la/battle-of-internet-giants/
  • 68. DATA CENTRIC DATA Mobile APP Campaign Management E-commerce Digital Marketing Legacy Application Call centerSAP : ERP ATG TPV APP CRM
  • 69. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI Y nosotros qué?? Somos desarrolladores!! Lo quieren para mercadear con el!! Hay que evangelizar... Estos no existen, son malos desarrolladores Back y Front
  • 70. • Uso óptimo de los recursos y la memoria • Sobre la JVM, tenemos todas las librerías de Java • Herencia y Polimorfismo • Programación funcional • No queremos efectos de lado • Spark - Flink => funciones de orden superior • En pocas líneas hacemos mucho • Modelo de actores con Akka, concurrencia controlada!! • Recursividad elevada a la máxima potencia • Asincronía => Promesas => Futuros => API REST de nueva generación DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 71. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI De qué más tenemos que saber?? y que mole?? Pero esto lo dejamos para otro día ...
  • 73. DEL LADO OSCURO DE BIG DATA AL INGENIERO DEL SIGLO XXI
  • 74. BIG DATA CHILD`S PLAY Gracias!! Stratio busca Talento Contacto: jcgarcia@stratio.com es.linkedin.com/in/gserranojc