Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data grids : descubre qué esconden los datos

Data grids : descubre qué esconden los datos

La cantidad de información a nuestro alcance va en aumento a un ritmo frenético. No solo queremos recuperar esos datos, sino analizarlos y extraer lo relevante lo más rápido posible.

El ecosistema java y la JVM son una buena plataforma para ello. En esta charla os mostraremos una de las tecnologías disponibles para este uso: las data grid.
Infinispan (JBoss Datagrid), no solo puede ser utilizada como caché de datos distribuida, sino también para el análisis de datos gracias a varias de sus APIs: Java 8 Streams y Spark/Hadoop.

A través de demostraciones en vivo podréis ver las capacidades de varias de estas APIs y descubrir fácilmente todo lo que esconden vuestros datos!

Galder Zamarreño

November 23, 2017
Tweet

More Decks by Galder Zamarreño

Other Decks in Programming

Transcript

  1. DATA GRIDS :
    Descubre qué esconden los datos
    Madrid JUG
    Galder Zamarreño Arrizabalaga

    @galderz

    23 noviembre 2017

    View Slide

  2. 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!

    View Slide

  3. 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

    View Slide

  4. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    4
    JAVA STREAMS PARA ANALIZAR DATOS

    View Slide

  5. CURSO ACELERADO DE JAVA STREAMS

    View Slide

  6. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    6
    COMO USAR JAVA STREAMS
    PARA ANALIZAR DATOS?

    View Slide

  7. 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

    View Slide

  8. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    8
    DATA GRIDS PARA ANALIZAR DATOS
    DISTRIBUIDOS CON JAVA STREAMS

    View Slide

  9. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    9
    INFINISPAN ES UNA DATA GRID!

    View Slide

  10. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    10
    QUE ES UNA DATA GRID?

    View Slide

  11. 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?

    View Slide

  12. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    12
    DISTRIBUCIÓN DE FUNCIONES LAMBDA
    filter(λ)
    λ
    λ

    View Slide

  13. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    13
    LOS DATOS
    http://transport.opendata.ch

    View Slide

  14. 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

    View Slide

  15. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    15
    OPENSHIFT ES KUBERNETES
    ES

    View Slide

  16. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    16
    EL PEGAMENTO

    View Slide

  17. 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?

    View Slide

  18. 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

    View Slide

  19. DEMO JAVA STREAMS DISTRIBUIDO

    View Slide

  20. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    20
    CUANDO JAVA STREAMS NO ES SUFICIENTE...

    View Slide

  21. 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

    View Slide

  22. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    22
    HADOOP/SPARK + INFINISPAN

    View Slide

  23. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    23
    ARQUITECTURA
    Master
    Worker Worker Worker Worker

    View Slide

  24. DEMO SPARK CON INFINISPAN

    View Slide

  25. INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
    25
    DATA GRIDS PARA ANALISIS DE DATOS
    JAVA STREAMS | SPARK/HADOOP

    View Slide

  26. GRACIAS!
    github.com/infinispan-demos/swiss-transport-datagrid
    github.com/infinispan/infinispan-spark/tree/master/examples/twitter
    infinispan.org
    redhat.com/en/technologies/jboss-middleware/data-grid

    View Slide