SlideShare uma empresa Scribd logo
1 de 28
Construyendo una infraestructura 
de Big Data rentable y escalable 
Juan Martín Pampliega
Juan Martín Pampliega 
Senior Data Engineer, Socialmetrix 
Ingeniero Informática, ITBA 
Trabajando con proyectos relacionados con la temática de “Big 
Data” desde 2011 (Globant/Google, Despegar.com, Socialmetrix). 
@juanpampliega 
jpampliega@socialmetrix.com
Agenda 
• Acerca de Socialmetrix 
• Razones para evolucionar la 
infraestructura 
• Conceptos en los que nos basamos 
• Nuestra arquitectura 
• Lecciones aprendidas 
• Dónde aprender más
Socialmetrix 
Medimos la actividad relacionada a 
marcas, compañías y personalidades 
en las redes sociales para generar 
valor a profesionales de Marketing, 
Investigación de Mercado y Producto.
Algunos números 
• Capturamos +1.000 MM de interacciones en un mes 
• Almacenamos +1 TB por mes de datos 
• Tenemos en Amazon AWS +200 servidores, + databases, 
+ambientes de prueba/staging
¿Por qué 
evolucionar la 
infraestructura?
Big Data – otro nuevo paradigma 
Volumen + Velocidad + Variedad 
Nuevas Tecnologías (Kafka + Spark + Cassandra + Cloud) 
Arquitectura de Procesamiento de 
Datos 
Distribuida, Robusta y Escalable
¿Por qué construir una arquitectura de Big Data? 
• Manejar un volumen de datos creciente y poco constante 
• Reducir tiempos de procesamiento hacia “near real-time” 
• Costos variables 
• Workloads variados: procesamiento batch y real-time, 
analytics 
• Mitigar la incertidumbre generada por errores o cambios en 
el procesamiento
Conceptos 
Importantes
Conceptos: sistema de datos distribuído 
• Teorema CAP: ante una partición en el sistema solamente 
se puede asegurar consistencia o disponibilidad 
• La mutabilidad de los datos de un sistema distribuido 
causa las limitaciones de consistencia y disponibilidad 
• Eliminando la mutabilidad sólo hay lecturas y escrituras (no 
se borran los datos) 
• query = function(all data)
Conceptos: Arquitectura Lambda 
• Arquitectura genérica de procesamiento de datos creada 
por Nathan Marz de su experiencia trabajando en Twitter y 
Backtype 
• Posee un único maestro de datos, append only. 
• Un componente batch que re-computa todas las vistas en 
cada iteración y uno real-time para información con baja 
latencia
Arquitectura Lambda 
Tiempo promedio de 
respuesta? 
Cantidad de tweets 
en cierta hora?
Arquitectura Lambda 
• Crear un sistema tolerante a fallos tanto de hardware como 
los humanos 
• Lecturas y escrituras de baja latencia 
• Escalabilidad lineal horizontal 
• Facilidad de re-procesos 
• Permitir la investigación interactiva de los datos
Arquitectura Lambda (críticas) 
• Duplicación de lógica 
• Duplicación de conocimiento en las herramientas 
• Asume que el procesamiento real-time no es confiable
Nuestra 
arquitectura
Arquitectura inicial 
S3
Limitaciones encontradas 
• Hive 
• Lenguaje SQL (orientado a consultas y no a 
procesamiento, IDEs poco útiles) 
• Herramientas de testing precarias 
• Tiempos de ejecución prolongados y variables 
• MySQL 
• Baja performance para insert or update masivos 
• Escalabilidad costosa 
• Poca flexibilidad en el particionamiento
Evolución de la arquitectura 
S3
Desafíos al aplicar los conceptos 
• Información duplicada y fuera de orden 
• Recursos necesarios para re-procesar todo el histórico de 
datos constantemente (Automatizar la asignación de 
recursos según el volumen de datos a procesar o re-procesar) 
• Evolución de los esquemas (Parquet, Apache Avro, Json) 
• Problemas de encoding (MySQL utf8, utf8mb4)
Lecciones 
Aprendidas
Los errores 
• Utilizar una herramienta para tareas que no fue diseñada 
porque estamos familiarizados con ella 
• No guardar los datos crudos (como se obtuvieron del 
origen) 
• No poner suficiente énfasis en tests y monitoreo 
automático
Los aciertos 
• Buscar como otros resolvieron los problemas que se nos 
plantean 
• Siempre mantenernos al tanto de los últimos desarrollos en 
el área 
• Permitir iterar sobre las soluciones ya desarrolladas para 
ver como mejorarlas 
• Orientarnos a lenguajes fuertemente tipados
Recomendaciones 
• Utilizar un proveedor de cloud público sobre todo al inicio 
de un proyecto 
• Monitorear los procesos y aprender los patrones de los 
datos 
• Usar datasets medianos en Dev y grandes en Staging
Recomendaciones 
• Ambientes de desarrollo locales y rápidos son tan 
importantes como siempre 
• Centralizar los logs (ELK: Elasticsearch, Logstash y 
Kibana). 
• Testing (“… In 58% of the catastrophic failures, the underlying faults could 
easily have been detected through simple testing of error handling code …”)
Dónde aprender 
más
Mucha documentación disponible 
Lambda Architecture 
http://lambda-architecture.net/ 
Getting Started with Big Data Architecture 
http://blog.cloudera.com/blog/2014/09/getting-started-with-big-data-architecture/ 
Your weekly Hadoop news fix 
http://www.hadoopweekly.com/ 
The Hortonworks Blog 
http://hortonworks.com/blog/ 
Applying the Lambda Architecture with Spark - Jim Scott 
http://spark-summit.org/2014/talk/applying-the-lambda-architecture-with-spark 
Cloudera Engineering Blog 
http://blog.cloudera.com/blog/ 
Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed 
Data-Intensive Systems 
http://neverworkintheory.org/2014/10/08/simple-testing-can-prevent-most-critical-failures.html
Muchas Gracias! 
¿Preguntas? 
jobs@socialmetrix.com

Mais conteúdo relacionado

Destaque

Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Socialmetrix
 
Webinar Dic 2016 BOC Cloud_v1
Webinar Dic 2016 BOC Cloud_v1Webinar Dic 2016 BOC Cloud_v1
Webinar Dic 2016 BOC Cloud_v1Ricardo Sada
 
Curso de big data
Curso de big data Curso de big data
Curso de big data Luis Joyanes
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaUrko Zurutuza
 
Big Data en el entorno Bancario
Big Data en el entorno BancarioBig Data en el entorno Bancario
Big Data en el entorno BancarioMartín Cabrera
 
Monta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión IIMonta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión IIUrko Zurutuza
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaDavid Albela Pérez
 
Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)Stratebi
 
Big Data y Minería de datos
Big Data y Minería de datos Big Data y Minería de datos
Big Data y Minería de datos Luis Joyanes
 
Cursos de Big Data y Machine Learning
Cursos de Big Data y Machine LearningCursos de Big Data y Machine Learning
Cursos de Big Data y Machine LearningStratebi
 
Meet Latin American Game Developers
Meet Latin American Game DevelopersMeet Latin American Game Developers
Meet Latin American Game DevelopersAlvaro Gonzalez
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IUrko Zurutuza
 
Past present and future of Recommender Systems: an Industry Perspective
Past present and future of Recommender Systems: an Industry PerspectivePast present and future of Recommender Systems: an Industry Perspective
Past present and future of Recommender Systems: an Industry PerspectiveXavier Amatriain
 
Administración de Apache Hadoop a través de Cloudera
Administración de Apache Hadoop a través de ClouderaAdministración de Apache Hadoop a través de Cloudera
Administración de Apache Hadoop a través de ClouderaDavid Albela Pérez
 
La Transformación digital y cultural del BBVA
La Transformación digital y cultural del BBVALa Transformación digital y cultural del BBVA
La Transformación digital y cultural del BBVASilvia Dvorak
 
69 claves para conocer Big Data
69 claves para conocer Big Data69 claves para conocer Big Data
69 claves para conocer Big DataStratebi
 

Destaque (20)

Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
 
Webinar Dic 2016 BOC Cloud_v1
Webinar Dic 2016 BOC Cloud_v1Webinar Dic 2016 BOC Cloud_v1
Webinar Dic 2016 BOC Cloud_v1
 
Curso de big data
Curso de big data Curso de big data
Curso de big data
 
Introducción a Apache HBase
Introducción a Apache HBaseIntroducción a Apache HBase
Introducción a Apache HBase
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu Empresa
 
Big Data en el entorno Bancario
Big Data en el entorno BancarioBig Data en el entorno Bancario
Big Data en el entorno Bancario
 
Monta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión IIMonta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión II
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con Cloudera
 
Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)
 
Proyectos everis
Proyectos everisProyectos everis
Proyectos everis
 
Infraestructura para big data Telefónica
Infraestructura para big data TelefónicaInfraestructura para big data Telefónica
Infraestructura para big data Telefónica
 
Big Data y Minería de datos
Big Data y Minería de datos Big Data y Minería de datos
Big Data y Minería de datos
 
Cursos de Big Data y Machine Learning
Cursos de Big Data y Machine LearningCursos de Big Data y Machine Learning
Cursos de Big Data y Machine Learning
 
Meet Latin American Game Developers
Meet Latin American Game DevelopersMeet Latin American Game Developers
Meet Latin American Game Developers
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión I
 
Past present and future of Recommender Systems: an Industry Perspective
Past present and future of Recommender Systems: an Industry PerspectivePast present and future of Recommender Systems: an Industry Perspective
Past present and future of Recommender Systems: an Industry Perspective
 
Administración de Apache Hadoop a través de Cloudera
Administración de Apache Hadoop a través de ClouderaAdministración de Apache Hadoop a través de Cloudera
Administración de Apache Hadoop a través de Cloudera
 
La Transformación digital y cultural del BBVA
La Transformación digital y cultural del BBVALa Transformación digital y cultural del BBVA
La Transformación digital y cultural del BBVA
 
69 claves para conocer Big Data
69 claves para conocer Big Data69 claves para conocer Big Data
69 claves para conocer Big Data
 
Presentacion Everis
Presentacion EverisPresentacion Everis
Presentacion Everis
 

Semelhante a Construyendo infraestructura Big Data escalable

Big Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasBig Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasJoseph Lopez
 
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure TemplatesInstalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure TemplatesGustavo Arjones
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
 
Tendencias arquitectura y desarrollo 2019
Tendencias arquitectura y desarrollo 2019Tendencias arquitectura y desarrollo 2019
Tendencias arquitectura y desarrollo 2019Manuel Zapata
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
 
Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016jorge Muchaypiña
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
Meetup En mi local funciona - Mi primer diseño con Apache Kafka
Meetup En mi local funciona - Mi primer diseño con Apache KafkaMeetup En mi local funciona - Mi primer diseño con Apache Kafka
Meetup En mi local funciona - Mi primer diseño con Apache KafkaatSistemas
 
Metodología de SI
Metodología de SIMetodología de SI
Metodología de SIsullinsan
 
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegueAnálisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegueGianfrancoEduardoBra
 
01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdf01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdfAntonioSotoRodriguez1
 
Cómo construir tu propia data platform. From zero to hero.
Cómo construir tu propia data platform. From zero to hero. Cómo construir tu propia data platform. From zero to hero.
Cómo construir tu propia data platform. From zero to hero. GustavoMartin46
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Dev ops with Data
Dev ops with DataDev ops with Data
Dev ops with Datannakasone
 

Semelhante a Construyendo infraestructura Big Data escalable (20)

Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Big Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasBig Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivas
 
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure TemplatesInstalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
Instalando Datastax Analytics (Cassandra Y Spark) Con Azure Templates
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
Tendencias arquitectura y desarrollo 2019
Tendencias arquitectura y desarrollo 2019Tendencias arquitectura y desarrollo 2019
Tendencias arquitectura y desarrollo 2019
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
 
Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016
 
Presentación taller aplicaciones
Presentación  taller aplicacionesPresentación  taller aplicaciones
Presentación taller aplicaciones
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Semana de la I+D - Proyecto OPOSSUM
Semana de la I+D - Proyecto OPOSSUMSemana de la I+D - Proyecto OPOSSUM
Semana de la I+D - Proyecto OPOSSUM
 
Meetup En mi local funciona - Mi primer diseño con Apache Kafka
Meetup En mi local funciona - Mi primer diseño con Apache KafkaMeetup En mi local funciona - Mi primer diseño con Apache Kafka
Meetup En mi local funciona - Mi primer diseño con Apache Kafka
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
MOSKitt en la CIT: Alea jacta est
MOSKitt en la CIT: Alea jacta estMOSKitt en la CIT: Alea jacta est
MOSKitt en la CIT: Alea jacta est
 
Metodología
MetodologíaMetodología
Metodología
 
Metodología de SI
Metodología de SIMetodología de SI
Metodología de SI
 
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegueAnálisis y diseño de sistemas   sesion 13 - diagrama de componentes y despliegue
Análisis y diseño de sistemas sesion 13 - diagrama de componentes y despliegue
 
01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdf01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdf
 
Cómo construir tu propia data platform. From zero to hero.
Cómo construir tu propia data platform. From zero to hero. Cómo construir tu propia data platform. From zero to hero.
Cómo construir tu propia data platform. From zero to hero.
 
Polybase
PolybasePolybase
Polybase
 
Dev ops with Data
Dev ops with DataDev ops with Data
Dev ops with Data
 

Mais de Socialmetrix

7 Disparadores de Engagement para o mercado de consumo massivo
7 Disparadores de Engagement para o mercado de consumo massivo7 Disparadores de Engagement para o mercado de consumo massivo
7 Disparadores de Engagement para o mercado de consumo massivoSocialmetrix
 
The Ultimate Guide to using Social Media Media Analytics
The Ultimate Guide to using Social Media Media AnalyticsThe Ultimate Guide to using Social Media Media Analytics
The Ultimate Guide to using Social Media Media AnalyticsSocialmetrix
 
Social Media is no longer something relevant just for the area of Marketing. ...
Social Media is no longer something relevant just for the area of Marketing. ...Social Media is no longer something relevant just for the area of Marketing. ...
Social Media is no longer something relevant just for the area of Marketing. ...Socialmetrix
 
How to Create a Successful Social Media Campaign
How to Create a Successful Social Media CampaignHow to Create a Successful Social Media Campaign
How to Create a Successful Social Media CampaignSocialmetrix
 
AWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
AWS re:Invent 2014 | (ARC202) Real-World Real-Time AnalyticsAWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
AWS re:Invent 2014 | (ARC202) Real-World Real-Time AnalyticsSocialmetrix
 
Tutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtimeTutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtimeSocialmetrix
 
Introducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoIntroducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoSocialmetrix
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache SparkSocialmetrix
 
Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...
Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...
Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...Socialmetrix
 
14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais
14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais
14º Encontro Locaweb - Evolução das Plataformas para Métricas SociaisSocialmetrix
 
Jugar Introduccion a Scala
Jugar Introduccion a ScalaJugar Introduccion a Scala
Jugar Introduccion a ScalaSocialmetrix
 
Endeavor – métricas em mídias sociais
Endeavor – métricas em mídias sociaisEndeavor – métricas em mídias sociais
Endeavor – métricas em mídias sociaisSocialmetrix
 
MongoDB, RabbitMQ y Applicaciones en Nube
MongoDB, RabbitMQ y Applicaciones en NubeMongoDB, RabbitMQ y Applicaciones en Nube
MongoDB, RabbitMQ y Applicaciones en NubeSocialmetrix
 

Mais de Socialmetrix (15)

7 Disparadores de Engagement para o mercado de consumo massivo
7 Disparadores de Engagement para o mercado de consumo massivo7 Disparadores de Engagement para o mercado de consumo massivo
7 Disparadores de Engagement para o mercado de consumo massivo
 
The Ultimate Guide to using Social Media Media Analytics
The Ultimate Guide to using Social Media Media AnalyticsThe Ultimate Guide to using Social Media Media Analytics
The Ultimate Guide to using Social Media Media Analytics
 
Social Media is no longer something relevant just for the area of Marketing. ...
Social Media is no longer something relevant just for the area of Marketing. ...Social Media is no longer something relevant just for the area of Marketing. ...
Social Media is no longer something relevant just for the area of Marketing. ...
 
How to Create a Successful Social Media Campaign
How to Create a Successful Social Media CampaignHow to Create a Successful Social Media Campaign
How to Create a Successful Social Media Campaign
 
AWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
AWS re:Invent 2014 | (ARC202) Real-World Real-Time AnalyticsAWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
AWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
 
Tutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtimeTutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtime
 
Introducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoIntroducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidiano
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache Spark
 
Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...
Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...
Social media brasil 2014 - O Marketing e as Redes Sociais em tempos de conver...
 
14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais
14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais
14º Encontro Locaweb - Evolução das Plataformas para Métricas Sociais
 
Call2Social
Call2SocialCall2Social
Call2Social
 
Redis
RedisRedis
Redis
 
Jugar Introduccion a Scala
Jugar Introduccion a ScalaJugar Introduccion a Scala
Jugar Introduccion a Scala
 
Endeavor – métricas em mídias sociais
Endeavor – métricas em mídias sociaisEndeavor – métricas em mídias sociais
Endeavor – métricas em mídias sociais
 
MongoDB, RabbitMQ y Applicaciones en Nube
MongoDB, RabbitMQ y Applicaciones en NubeMongoDB, RabbitMQ y Applicaciones en Nube
MongoDB, RabbitMQ y Applicaciones en Nube
 

Último

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 

Último (20)

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 

Construyendo infraestructura Big Data escalable

  • 1. Construyendo una infraestructura de Big Data rentable y escalable Juan Martín Pampliega
  • 2. Juan Martín Pampliega Senior Data Engineer, Socialmetrix Ingeniero Informática, ITBA Trabajando con proyectos relacionados con la temática de “Big Data” desde 2011 (Globant/Google, Despegar.com, Socialmetrix). @juanpampliega jpampliega@socialmetrix.com
  • 3. Agenda • Acerca de Socialmetrix • Razones para evolucionar la infraestructura • Conceptos en los que nos basamos • Nuestra arquitectura • Lecciones aprendidas • Dónde aprender más
  • 4. Socialmetrix Medimos la actividad relacionada a marcas, compañías y personalidades en las redes sociales para generar valor a profesionales de Marketing, Investigación de Mercado y Producto.
  • 5.
  • 6. Algunos números • Capturamos +1.000 MM de interacciones en un mes • Almacenamos +1 TB por mes de datos • Tenemos en Amazon AWS +200 servidores, + databases, +ambientes de prueba/staging
  • 7. ¿Por qué evolucionar la infraestructura?
  • 8. Big Data – otro nuevo paradigma Volumen + Velocidad + Variedad Nuevas Tecnologías (Kafka + Spark + Cassandra + Cloud) Arquitectura de Procesamiento de Datos Distribuida, Robusta y Escalable
  • 9. ¿Por qué construir una arquitectura de Big Data? • Manejar un volumen de datos creciente y poco constante • Reducir tiempos de procesamiento hacia “near real-time” • Costos variables • Workloads variados: procesamiento batch y real-time, analytics • Mitigar la incertidumbre generada por errores o cambios en el procesamiento
  • 11. Conceptos: sistema de datos distribuído • Teorema CAP: ante una partición en el sistema solamente se puede asegurar consistencia o disponibilidad • La mutabilidad de los datos de un sistema distribuido causa las limitaciones de consistencia y disponibilidad • Eliminando la mutabilidad sólo hay lecturas y escrituras (no se borran los datos) • query = function(all data)
  • 12. Conceptos: Arquitectura Lambda • Arquitectura genérica de procesamiento de datos creada por Nathan Marz de su experiencia trabajando en Twitter y Backtype • Posee un único maestro de datos, append only. • Un componente batch que re-computa todas las vistas en cada iteración y uno real-time para información con baja latencia
  • 13. Arquitectura Lambda Tiempo promedio de respuesta? Cantidad de tweets en cierta hora?
  • 14. Arquitectura Lambda • Crear un sistema tolerante a fallos tanto de hardware como los humanos • Lecturas y escrituras de baja latencia • Escalabilidad lineal horizontal • Facilidad de re-procesos • Permitir la investigación interactiva de los datos
  • 15. Arquitectura Lambda (críticas) • Duplicación de lógica • Duplicación de conocimiento en las herramientas • Asume que el procesamiento real-time no es confiable
  • 18. Limitaciones encontradas • Hive • Lenguaje SQL (orientado a consultas y no a procesamiento, IDEs poco útiles) • Herramientas de testing precarias • Tiempos de ejecución prolongados y variables • MySQL • Baja performance para insert or update masivos • Escalabilidad costosa • Poca flexibilidad en el particionamiento
  • 19. Evolución de la arquitectura S3
  • 20. Desafíos al aplicar los conceptos • Información duplicada y fuera de orden • Recursos necesarios para re-procesar todo el histórico de datos constantemente (Automatizar la asignación de recursos según el volumen de datos a procesar o re-procesar) • Evolución de los esquemas (Parquet, Apache Avro, Json) • Problemas de encoding (MySQL utf8, utf8mb4)
  • 22. Los errores • Utilizar una herramienta para tareas que no fue diseñada porque estamos familiarizados con ella • No guardar los datos crudos (como se obtuvieron del origen) • No poner suficiente énfasis en tests y monitoreo automático
  • 23. Los aciertos • Buscar como otros resolvieron los problemas que se nos plantean • Siempre mantenernos al tanto de los últimos desarrollos en el área • Permitir iterar sobre las soluciones ya desarrolladas para ver como mejorarlas • Orientarnos a lenguajes fuertemente tipados
  • 24. Recomendaciones • Utilizar un proveedor de cloud público sobre todo al inicio de un proyecto • Monitorear los procesos y aprender los patrones de los datos • Usar datasets medianos en Dev y grandes en Staging
  • 25. Recomendaciones • Ambientes de desarrollo locales y rápidos son tan importantes como siempre • Centralizar los logs (ELK: Elasticsearch, Logstash y Kibana). • Testing (“… In 58% of the catastrophic failures, the underlying faults could easily have been detected through simple testing of error handling code …”)
  • 27. Mucha documentación disponible Lambda Architecture http://lambda-architecture.net/ Getting Started with Big Data Architecture http://blog.cloudera.com/blog/2014/09/getting-started-with-big-data-architecture/ Your weekly Hadoop news fix http://www.hadoopweekly.com/ The Hortonworks Blog http://hortonworks.com/blog/ Applying the Lambda Architecture with Spark - Jim Scott http://spark-summit.org/2014/talk/applying-the-lambda-architecture-with-spark Cloudera Engineering Blog http://blog.cloudera.com/blog/ Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed Data-Intensive Systems http://neverworkintheory.org/2014/10/08/simple-testing-can-prevent-most-critical-failures.html
  • 28. Muchas Gracias! ¿Preguntas? jobs@socialmetrix.com

Notas do Editor

  1. No solamente me interesa explicar cómo construir la infraestructura de procesamiento de dato si no por qué hoy en día es importante hacerlo
  2. Actualmente siempre se hace referencia a la temática de Big Data hablando de la explosión de las 3 V en los últimos tiempos (Volumen, Velocidad y Variedad) Pero en muchos casos, con la evolución de las bases de datos tradicionales desde Oracle hasta Teradata ya nos permiten manejar este problema. Son las nuevas herramientas de manejo y procesamiento las que realmente forman un nuevo paradigma. Herramientas desarrolladas por empresas de tecnología con fuerte base en la investigación y que principalmente se mueven en el ambiente de la Web Estas herramientas son distribuidas desde sus inicios y extremadamente performantes Este nuevo paradigma nos permite desarrollar una arquitectura de procesamiento
  3. Volumen Cada vez más surge la necesidad de procesar los datos lo más cercano al real-time para poder anticiparse a la competencia y reaccionar con un delay mínimo ante los problemas Para comenzar no hay costos de licenciamiento o entrenamiento. Casi todo lo necesario para comenzar se encuentra disponible online y solamente se empieza a pagar una vez que las necesidades maduran y se está seguro de la solución