arqconf2015: creando una arquitectura moderna para big data analytics

Post on 05-Aug-2015

389 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Speaker

Gustavo Arjones, CTO Socialmetrix @arjones | gustavo@socialmetrix.com

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 •  …

Nuevos paradigmas

Necesitamos una nueva forma de pensar los datos, los procesos y la

arquitectura

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*

Simple de Pensar

Simple de Pensar

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 …

Conceptos asociados a estas características

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

Mezclando Todo

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

REFERENCIAS

http://arjon.es/2015/04/30/big-data-architecture-reading-list/

__

¡Muchas Gracias! Obrigado!

Gustavo Arjones, CTO @arjones | gustavo@socialmetrix.com

top related