Hay cientos de opciones de frameworks e sistemas de Big Data, cuando se empieza a estudiar como 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 irá presentar brevemente estas tecnologías y opiniones para utilizar en su próxima plataforma de análisis de datos. http://arjon.es/2015/05/10/material-de-la-charla-creando-una-arquitectura-para-big-data-analytics-en-arqconf-2015/
ARQCONF2015: Creando una Arquitectura Moderna para Big Data Analytics
1. Speaker
Gustavo Arjones, CTO Socialmetrix
@arjones | gustavo@socialmetrix.com
Arquitectura de Big Data
Creando una Arquitectura Moderna para
Big Data Analytics
2. Quién soy?
GUSTAVO ARJONES, CTO
• Lic. Ciencia Computación
• MBA Marketing
• 2008 startup de Analytics à Big Data
• Brasileño
3. Porqué una arquitectura de Big Data?
• Dashboards
• Históricos (big joins)
• Modelos Predictivos
• Consumo/Análise Realtime
• Streams
• …
6. Características esperadas de la plataforma
• Simple de pensar (ê sistemas, ê tecnologias)
• Escalable (~linear) y Mantenible
• Fault-Tolerance: Sistemas y Humanos
• Soportar Dashboards y Exploración de Datos
• Soportar operaciones batch y near-realtime*
9. Escalable
• Más workload se resuelve con más servers (partition)
• Más datos se almacenan en más servers
10. Fault-Tolerant
• Job no se interrumpe por
la falla de hardware
• Podemos recuperarnos
de errores humanos!
11. Soportar Exploración de Datos
• Herramientas que permitan Data Scientists “jugar”
con los datos
• Fácil acceso a datos
• Integración con otros data-sources (conectores, file
formats, etc)
• Soporte a algoritimos de Machine Learning
• Soporte a lenguajes conocidos: R, SQL, Python …
13. Immutability / Append Only
• No hay estado compartido
=
• No es necesario locking
=
• Jobs Paralelizables!!!
14. Events / Facts
• Hechos aislados y atomicos
• Verdad en un momento determinado
• When?
• What?
• Who?
• How?
15. Data Schemas
• Enforcement de tipos de datos y constrains
• Ser/Deserialize +rápido y +seguro (comparado a
JSON)
• Clara evolución de los Datos (versioning)
16. Messaging Bus de Eventos … (Event Sourcing)
• Paralelizar procesamiento
• Posibilidad de reprocesamiento (errores, new features)
• Aislamento, Particionado, Escalabilidad
17. Source of Truth
• Almacenar toda la
información cruda (HDFS, S3)
• Permite reprocesamiento y
evolución de métricas
• Redundante a falla
humana
18. Materialized Views para Métricas Conocidas
• Generar Materialized Views con las métricas que YA
SABEMOS que necesitamos
• Views se guardan en datastore escalable y fast-read