SlideShare una empresa de Scribd logo
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

Más contenido relacionado

Destacado

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_v1
Ricardo Sada
 
Curso de big data
Curso de big data Curso de big data
Curso de big data
Luis Joyanes
 
Introducción a Apache HBase
Introducción a Apache HBaseIntroducción a Apache HBase
Introducción a Apache HBase
Marcos Ortiz Valmaseda
 
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
Urko Zurutuza
 
Big Data en el entorno Bancario
Big Data en el entorno BancarioBig Data en el entorno Bancario
Big Data en el entorno Bancario
Martí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 II
Urko 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 Cloudera
David 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
 
Infraestructura para big data Telefónica
Infraestructura para big data TelefónicaInfraestructura para big data Telefónica
Infraestructura para big data Telefónica
Telefónica Grandes Clientes
 
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 Learning
Stratebi
 
Meet Latin American Game Developers
Meet Latin American Game DevelopersMeet Latin American Game Developers
Meet Latin American Game Developers
Alvaro 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 I
Urko 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 Perspective
Xavier 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 Cloudera
David 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 BBVA
Silvia Dvorak
 
69 claves para conocer Big Data
69 claves para conocer Big Data69 claves para conocer Big Data
69 claves para conocer Big Data
Stratebi
 

Destacado (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
 

Similar a Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big data rentable y escalable

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
avanttic Consultoría Tecnológica
 
Big Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasBig Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivas
Joseph 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 Templates
Gustavo 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 2019
Manuel 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.pdf
MIGUELANGELDORADOJAR
 
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
jorge Muchaypiña
 
Presentación taller aplicaciones
Presentación  taller aplicacionesPresentación  taller aplicaciones
Presentación taller aplicaciones
Ariel Inostroza Fariña
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
Juan Ladetto
 
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
Francisco Javier Barrena
 
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
atSistemas
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
Carlos Buenosvinos
 
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
Jose Alarcón Medina
 
Metodología de SI
Metodología de SIMetodología de SI
Metodología de SI
sullinsan
 
Metodología
MetodologíaMetodología
Metodología
Jose Solorzano
 
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
GianfrancoEduardoBra
 
Big data una cuantificación importante..
Big data una cuantificación importante..Big data una cuantificación importante..
Big data una cuantificación importante..
wmichaelw
 
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
AntonioSotoRodriguez1
 
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
Polybase
SolidQ
 

Similar a Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big data rentable y 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 de SI
Metodología de SIMetodología de SI
Metodología de SI
 
Metodología
MetodologíaMetodología
Metodología
 
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
 
Big data una cuantificación importante..
Big data una cuantificación importante..Big data una cuantificación importante..
Big data una cuantificación importante..
 
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
 

Más 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 massivo
Socialmetrix
 
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
Socialmetrix
 
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 Campaign
Socialmetrix
 
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
Socialmetrix
 
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
Socialmetrix
 
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
Socialmetrix
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache Spark
Socialmetrix
 
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 Sociais
Socialmetrix
 
Call2Social
Call2SocialCall2Social
Call2Social
Socialmetrix
 
Redis
RedisRedis
Jugar Introduccion a Scala
Jugar Introduccion a ScalaJugar Introduccion a Scala
Jugar Introduccion a Scala
Socialmetrix
 
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
Socialmetrix
 
MongoDB, RabbitMQ y Applicaciones en Nube
MongoDB, RabbitMQ y Applicaciones en NubeMongoDB, RabbitMQ y Applicaciones en Nube
MongoDB, RabbitMQ y Applicaciones en Nube
Socialmetrix
 

Más 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

Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 

Último (20)

Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 

Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big data rentable y 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 del 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