DATA GRIDS :
Descubre qué esconden los datos
Madrid JUG
Galder Zamarreño Arrizabalaga
@galderz
23 noviembre 2017
Slide 2
Slide 2 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
2
Desde 2006
INGENIERO
@galderz
Desarrollador y
responsable de la comunidad
COFUNDADOR DE
INFINISPAN (2009)
ME GUSTA
EL QUESO PUES!
Slide 3
Slide 3 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
EL PROBLEMA
3
Datos, datos, datos,
datos y mas datos...
Recuperar los datos no
es suficiente
Analizar y extraer lo
más relevante
Slide 4
Slide 4 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
4
JAVA STREAMS PARA ANALIZAR DATOS
Slide 5
Slide 5 text
CURSO ACELERADO DE JAVA STREAMS
Slide 6
Slide 6 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
6
COMO USAR JAVA STREAMS
PARA ANALIZAR DATOS?
Slide 7
Slide 7 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
7
Click to add subtitle
Ejecutar operaciones de Java Stream para
en un entorno distribuido
JAVA STREAMS DISTRIBUIDO
Slide 8
Slide 8 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
8
DATA GRIDS PARA ANALIZAR DATOS
DISTRIBUIDOS CON JAVA STREAMS
Slide 9
Slide 9 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
9
INFINISPAN ES UNA DATA GRID!
Slide 10
Slide 10 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
10
QUE ES UNA DATA GRID?
Slide 11
Slide 11 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
11
Cada nodo mantiene una porción de datos
Algoritmos de hash consistente
para decidir quien guarda cada elemento
N copias de cada elemento
CÓMO SE DISTRIBUYEN LOS DATOS?
Slide 12
Slide 12 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
12
DISTRIBUCIÓN DE FUNCIONES LAMBDA
filter(λ)
λ
λ
Slide 13
Slide 13 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
13
LOS DATOS
http://transport.opendata.ch
Slide 14
Slide 14 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
14
Platform-as-a-Service (PaaS)
Plataforma para el desarrollo y ejecución de
aplicaciones
Publica o privada y multi lenguaje
Es una distribución de Kubernetes con extras
OPENSHIFT
Slide 15
Slide 15 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
15
OPENSHIFT ES KUBERNETES
ES
Slide 16
Slide 16 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
16
EL PEGAMENTO
Slide 17
Slide 17 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
17
CUAL ES LA HORA DEL DIA EN LA QUE HAY EL
MAYOR % DE RETRASOS DE TRENES?
Slide 18
Slide 18 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
18
ARQUITECTURA
Data Grid
Replication
Delay Calculator
Server Task
Delay Calculator
Server Task
Delay Calculator
Server Task
Analytics
Verticle
Injector
Verticle
Analytics
Jupyter
Laptop
HTTP
Slide 19
Slide 19 text
DEMO JAVA STREAMS DISTRIBUIDO
Slide 20
Slide 20 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
20
CUANDO JAVA STREAMS NO ES SUFICIENTE...
Slide 21
Slide 21 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
21
Click to add subtitle
Difícil de programar para el usuario
APIs y MOTOR QUE MEJORAN LAS
LIMITACIONES DE HADOOP
Más fácil de usar y más eficiente
Puede leer datos almacenados en Hadoop
APIs y MOTOR DE ANALISIS
BASADO EN MAP/REDUCE
PLATAFORMAS ANALISIS DE DATOS EN JVM
Slide 22
Slide 22 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
22
HADOOP/SPARK + INFINISPAN
Slide 23
Slide 23 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
23
ARQUITECTURA
Master
Worker Worker Worker Worker
Slide 24
Slide 24 text
DEMO SPARK CON INFINISPAN
Slide 25
Slide 25 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
25
DATA GRIDS PARA ANALISIS DE DATOS
JAVA STREAMS | SPARK/HADOOP