Mutable Ideas

Notes and ideas about Java, Scala, Big Data, NoSQL, Quality and Software Deploy

Material De La Charla “Creando Una Arquitectura Para Big Data Analytics” en ArqConf 2015

Esta charla fue presentada el 30 de Abril en la Conferencia de Arquitectura IT (ArqConf 2015). En la misma presenté las características deseadas, los desafíos y una propuesta de arquitectura para Big Data Analytics que permite computación en real-time.

EDIT: 2015-05-29: Agregado el video de la charla

spearkers-arqconf2015.jpg

Speakers ArqConf 2015

Sobre la Charla

Título: Creando una Arquitectura Moderna para Big Data Analytics

Hay cientos de opciones de frameworks y sistemas de Big Data, cuando se empieza a estudiar cómo armar la solución completa, rápidamente nos encontramos con la necesidad de tomar muchas decisiones que van afectar el proyecto a largo plazo, preguntas como: dónde y cómo almacenar, cómo procesar en batch y realtime; Map-Reduce, DAG, Hadoop, Spark, Storm, Hive, NoSQL, son algunos de los términos que hay que conocer cuando se arma una arquitectura de Big Data. Esta charla va a presentar brevemente estas tecnologías y opiniones para utilizar en su próxima plataforma de análisis de datos.

Video de la charla

Puntos Clave

Si no pudiste ver la charla o si solo querés algunos tips rápidos sobre, acá les dejo los puntos que considero clave para el éxito de este tipo de proyecto.

Atributos esperados

  • Simple de pensar, con la menor cantidad posible de sub-sistemas
  • Ser resiliente a fallas de sistemas y humanas
  • Optar por implementaciones que tengan escalabilidad linear
  • Soportar Dashboards y Análisis Exploratorios
  • Soportar Operaciones Batch y Real-time

Conceptos técnicos

Los conceptos aplicados no son nuevos, pero la aplicación de los mismos en conjunto generan excelentes resultados y escalabilidad:

  • Todas las operaciones deben ser inmutables, esto simplifica la forma de pensar y evita errores.
  • Las transformaciones (ej: A=A+1) deben ser expresadas en Eventos.
  • Por más tentador que lo sea trabajar directamente con JSON aplique schema a tus datos.
  • Almacená los todos los eventos crudos (raw events) en un storage escalable (S3, HDFS).
  • Las metricas del dashboard se computan y se guardan en el un datastore escalable con alta performance de lectura.
  • Los análisis exploratórios pueden ser hechos con consolas iterativas tipo REPL o ambientes iterativos mas completos como Apache Zepelin

Tecnologias Aplicadas

La elección de soluciones se basó en uso de tecnologías relativamente maduras y que sean FOSS, obviamente se puede obtener resultados similares con distintas composiciones, lo importante es preservar los atributos

Slides & Fotos

Las fotos del evento se encuentran en el Facebook de ArqConf

Referencias

Los conceptos resumidos en esta presentación son resultado del estudio e investigación que se está dando en el mundo, dejo un listado de los blogs posts y fuentes de información que me parecieron más relevantes para esta charla.

Big Data Architecture - Reading List

Tu opinión!

Estas tecnologías y soluciones todavía tienen un largo camino por recorrer antes de ser consideradas patterns, aunque en los últimos años viene aumentando la adopción no hay una solución única y mucho menos perfecta. Qué opinas? Qué harias diferente de esta propuesta y porqué? Hacé tus comentarios a continuación!

Comments