arqconf2015: creando una arquitectura moderna para big data analytics
TRANSCRIPT
Speaker
Gustavo Arjones, CTO Socialmetrix @arjones | [email protected]
Arquitectura de Big Data Creando una Arquitectura Moderna para Big Data Analytics
Quién soy?
GUSTAVO ARJONES, CTO • Lic. Ciencia Computación • MBA Marketing
• 2008 startup de Analytics à Big Data • Brasileño
Porqué una arquitectura de Big Data?
• Dashboards • Históricos (big joins) • Modelos Predictivos • Consumo/Análise Realtime • Streams • …
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*
Escalable
• Más workload se resuelve con más servers (partition) • Más datos se almacenan en más servers
Fault-Tolerant
• Job no se interrumpe por la falla de hardware
• Podemos recuperarnos de errores humanos!
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 …
Immutability / Append Only
• No hay estado compartido = • No es necesario locking = • Jobs Paralelizables!!!
Events / Facts
• Hechos aislados y atomicos • Verdad en un momento determinado
• When? • What? • Who? • How?
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)
Messaging Bus de Eventos … (Event Sourcing)
• Paralelizar procesamiento
• Posibilidad de reprocesamiento (errores, new features)
• Aislamento, Particionado, Escalabilidad
Source of Truth
• Almacenar toda la información cruda (HDFS, S3)
• Permite reprocesamiento y evolución de métricas
• Redundante a falla humana
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
Evn Ev3 … Ev2 Ev1 Messaging Bus
HDFS /event/2015/04/30/19/35/
Processing (filter, group, sum, …)
Views Search Cache
Apache Log Lines Apache Log Lines
Page Views Unique Users
Page Title Page Content Key Metrics
Web Analytics (ie: G. Analytics)
/event/2015/04/30/19/35/
Evn Ev3 … Ev2 Ev1 Messaging Bus
HDFS
Processing (filter, group, sum, …)
Views Search Cache
ReporRng UI
Evn Ev3 … Ev2 Ev1 Messaging Bus
HDFS
Processing (filter, group, sum, …)
Views Search Cache Análise
Exploratoria
/event/2015/04/30/19/35/
Evn Ev3 … Ev2 Ev1 Messaging Bus
HDFS
Processing (filter, group, sum, …)
Views Search Cache
/event/2015/04/30/19/35/
Principales Tecnologías
• Data Schema: Apache Avro • Message Bus: Apache Kafka • Storage: Amazon S3 (o HDFS) • Processing: Apache Spark + Spark Streaming • Data Store:
– Apache Cassandra – ElasticSearch (o Apache Solr) – Redis