Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
México
Big Data en AWS
Damian Traverso - Solutions Architect
18/06/2015 | Bogotá
Agenda
• Desafíos de un proyecto de Big Data
• Visión simplificada del procesamiento Big Data
• ¿Cuáles tecnologías debo u...
Desafíos de un proyecto de Big Data
Big Data: El volumen crece continuamente
De PB para ZB
GB
TB
PB
ZB
EB
1990 2000 2010 2020
Big Data Real-time Big Data
Big Data: Necesita responder más rápido
Una gran variedad de soluciones y componentes
Glacier
S3 DynamoDB
RDS
EMR
Redshift
Data Pipeline
Kinesis
Cassandra CloudSe...
Simplificando el procesamiento
de Big Data
Simplificando el procesamiento de Big Data
Ingestión
Persistencia /
Storage Procesamiento Visualización
Datos
Respuestas
T...
¿Cuáles tecnologías debo
utilizar?
Glacier
S3
DynamoDB
RDS
Kinesis
Spark
Streaming
EMR
Ingestión Persistencia Proceso/Análisis Visualización
Data Pipeline
St...
Ingestión
de
datos
Tipos de datos para ingestión
• Transaccionales
– RDBMS
lectura/escritura
• Archivos
– Click-stream logs
– Texto libre
• S...
Stream
Storage
Database
Cloud
Storage
✔
¿Por qué un Stream Storage?
• Convierte múltiples
streams en unos pocos,
persistentes y ordenados
secuencialmente
• Descon...
¿Cuál Stream Store debo utilizar?
• Amazon Kinesis y Apache Kafka tienen muchas
similitudes
– Múltiples consumidores
– Ord...
Cloud Database &
Storage
✔
✔
Cloud Database and Storage Tier Anti-pattern
App/Web Tier
Client Tier
Database & Storage Tier
Database y Storage en la nube - Las herramientas correctas
App/Web Tier
Client Tier
Data Tier
Database & Storage Tier
Sear...
App/Web Tier
Client Tier
Data Tier
Database & Storage Tier
Amazon RDSAmazon
DynamoDB
Amazon
ElastiCache
Amazon S3
Amazon
G...
¿Que Storage debo utilizar?
• Nivel de estructuración de los datos
• Complejidad de las consultas
Grado de estructuración / complejidad de las queries
VS.
Storage
Structured – Simple Query
NoSQL
Amazon DynamoDB
Cache
Ama...
¿Cuál es la temperatura de sus datos?
Temperatura de los datos: Calientes, Tibios o Fríos
Caliente Tibio Frío
Volumen MB–GB GB–TB PB
Tamaño del registro B–KB KB...
Amazon
RDS
Frecuencia de Requests
alta baja
Costo/GB
alta baja
Latencia
baja alta
Volumen
baja alta
Amazon
Glacier
Amazon
...
Procesamiento
✔ ✔
AML
Procesamiento
• Análisis Descriptivo: BI, OLAP, SQL/data warehouse
• Análisis Predictivo: sistemas de recomendación,
previ...
Frameworks de procesamiento
Normalmente existen dos tipos:
• Batch
– Procesamiento regular (ex: ETL)
– Análisis explorator...
Procesamiento Batch
• Accede a un gran volumen de datos fríos
para interactuar en búsqueda de
correlaciones
• Generalmente...
Caso de uso: Procesamiento Batch para ETL
Amazon
EMR
Amazon
S3
Amazon
Glacier
Amazon
Redshift
Procesamiento de Stream
• Analisa datos en pequeños grupos
– CEP – Complex Event Processor (if/then/else)
– Machine Learni...
Herramientas
• Batch processing/analytic
– Amazon Redshift
– Amazon EMR
• Hive, Pig, Spark, Impala, Presto, …
• Stream pro...
¿Cuál herramienta de procesamiento batch debo usar?
Redshift Impala Presto Spark Hive
Latencia de
las queries
Baja Baja Ba...
Spark Streaming Apache Storm
+ Trident
Kinesis Client
Library
Escalabilidad/Thro
ughput
~ Nodos ~ Nodos ~ Nodos
volumen ~ ...
✔ ✔ ✔
AML
Colocando todo junto
Arquitectura desconectada
• Múltiples etapas
• Storage desconectado del procesamiento
Procesar Almacenar Procesar Almacena...
Aplicaciones de Procesamiento (o conectores)
pueden escribir en múltiples Data Stores
Amazon
Kinesis
Amazon
Kinesis
Connec...
Frameworks de Procesamiento (Storm, Hive,
Spark, etc) pueden leer de múltiples Data Stores
Amazon
Kinesis
Amazon
Kinesis
C...
Patrones de diseño
Spark
Streaming,
Apache
Storm
Amazon
Redshift Spark,
Impala,
Presto
Hive
Amazon
Redshift
Hive
Spark,
Presto
Amazon
Kinesis...
Spark
Streaming
Amazon Kinesis / KafkaDatos
Apache Storm Native Client
Procesamiento Real-time
Amazon
DynamoDB
Native
Clie...
Amazon
Redshift
Hive
Spark,
Presto
Amazon
Kinesis/
Kafka
Amazon S3Datos
Respuestas
Processamento en Batch
Spark,
Impala,
Presto
Redshift
Spark,
Presto
Kinesis/
Kafka
S3Datos HDFS
Análisis interactivos
Respuestas
AML
Resumen
• Etapas de procesamiento Big Data: ingestión,
almacenamiento, procesamiento y visualización
• Usar las herramient...
¡Muchas Gracias!
 AWS Summits América Latina 2015 Arquitecturas y mejores practicas de Big Data en AWS
Próxima SlideShare
Cargando en…5
×

AWS Summits América Latina 2015 Arquitecturas y mejores practicas de Big Data en AWS

562 visualizaciones

Publicado el

AWS Summits América Latina 2015 Arquitecturas y mejores practicas de Big Data en AWS

Publicado en: Tecnología
  • Sé el primero en comentar

AWS Summits América Latina 2015 Arquitecturas y mejores practicas de Big Data en AWS

  1. 1. México
  2. 2. Big Data en AWS Damian Traverso - Solutions Architect 18/06/2015 | Bogotá
  3. 3. Agenda • Desafíos de un proyecto de Big Data • Visión simplificada del procesamiento Big Data • ¿Cuáles tecnologías debo utilizar? • Arquitectura de Referencia • Patrones de Diseño
  4. 4. Desafíos de un proyecto de Big Data
  5. 5. Big Data: El volumen crece continuamente De PB para ZB GB TB PB ZB EB 1990 2000 2010 2020
  6. 6. Big Data Real-time Big Data Big Data: Necesita responder más rápido
  7. 7. Una gran variedad de soluciones y componentes Glacier S3 DynamoDB RDS EMR Redshift Data Pipeline Kinesis Cassandra CloudSearch AML
  8. 8. Simplificando el procesamiento de Big Data
  9. 9. Simplificando el procesamiento de Big Data Ingestión Persistencia / Storage Procesamiento Visualización Datos Respuestas Tiempo
  10. 10. ¿Cuáles tecnologías debo utilizar?
  11. 11. Glacier S3 DynamoDB RDS Kinesis Spark Streaming EMR Ingestión Persistencia Proceso/Análisis Visualización Data Pipeline Storm Kafka Redshift Cassandra CloudSearch Kinesis Connector Kinesis enabled app App Server Web Server Devices AML
  12. 12. Ingestión de datos
  13. 13. Tipos de datos para ingestión • Transaccionales – RDBMS lectura/escritura • Archivos – Click-stream logs – Texto libre • Stream – IoT devices – Tweets Database Cloud Storage Stream Storage
  14. 14. Stream Storage Database Cloud Storage ✔
  15. 15. ¿Por qué un Stream Storage? • Convierte múltiples streams en unos pocos, persistentes y ordenados secuencialmente • Desconecta productores y consumidores de datos • Actúa como un buffer o una cola • Streams en secuencia son más faciles de procesar • Preserva el orden para los consumidores • Streaming MapReduce • El consumidor puede realizar un replay y reprocesar
  16. 16. ¿Cuál Stream Store debo utilizar? • Amazon Kinesis y Apache Kafka tienen muchas similitudes – Múltiples consumidores – Orden de los registros – MapReduce de Streaming – Baja latencia – Alta durabilidad, disponibilidad y escalabilidad • Diferencias – Un registro dura 24 horas en Kinesis, en Kafka es configurable – Tamaño de 50 Kb en Kinesis, en Kafka es configurable – Kinesis es un servicio totalmente gestionado – fácil de provisionar, monitorear y escalar. Kafka exige un trabajo de administración de disponibilidad y escalamiento como un proceso on-premise
  17. 17. Cloud Database & Storage ✔ ✔
  18. 18. Cloud Database and Storage Tier Anti-pattern App/Web Tier Client Tier Database & Storage Tier
  19. 19. Database y Storage en la nube - Las herramientas correctas App/Web Tier Client Tier Data Tier Database & Storage Tier Search Hadoop/HDFS Cache Blob Store SQL NoSQL
  20. 20. App/Web Tier Client Tier Data Tier Database & Storage Tier Amazon RDSAmazon DynamoDB Amazon ElastiCache Amazon S3 Amazon Glacier Amazon CloudSearch HDFS on Amazon EMR Database y Storage en la nube - Las herramientas correctas
  21. 21. ¿Que Storage debo utilizar? • Nivel de estructuración de los datos • Complejidad de las consultas
  22. 22. Grado de estructuración / complejidad de las queries VS. Storage Structured – Simple Query NoSQL Amazon DynamoDB Cache Amazon ElastiCache Structured – Complex Query SQL Amazon RDS Search Amazon CloudSearch Unstructured – No Query Cloud Storage Amazon S3 Amazon Glacier Unstructured – Custom Query Hadoop/HDFS Elastic MapReduce Gradodeestructuración Grado de complejidad de las queries
  23. 23. ¿Cuál es la temperatura de sus datos?
  24. 24. Temperatura de los datos: Calientes, Tibios o Fríos Caliente Tibio Frío Volumen MB–GB GB–TB PB Tamaño del registro B–KB KB–MB KB–TB Latencia ms ms, seg min, horas Durabilidad Baja - Alta Alta Muy Alta Frecuencia de requests Muy Alta Alta Baja Costo/GB $$-$ $-¢¢ ¢
  25. 25. Amazon RDS Frecuencia de Requests alta baja Costo/GB alta baja Latencia baja alta Volumen baja alta Amazon Glacier Amazon CloudSearch Estructuración baja alta Amazon DynamoDB Amazon ElastiCache
  26. 26. Procesamiento ✔ ✔ AML
  27. 27. Procesamiento • Análisis Descriptivo: BI, OLAP, SQL/data warehouse • Análisis Predictivo: sistemas de recomendación, previsión de page-views, subasta de anuncios on-line • Clasificación: análisis de sentimiento, fraude, anti spam, clustering de clientes para crear perfiles de consumo • Correlación: comparar lo que se sabe sobre el negocio (BI) con las oscilaciones del mercado, tiempo y temperatura, reputación en las redes sociales
  28. 28. Frameworks de procesamiento Normalmente existen dos tipos: • Batch – Procesamiento regular (ex: ETL) – Análisis exploratorio (ex:data science) • Stream – IoT, click-stream, social monitoring, crawlers, etc
  29. 29. Procesamiento Batch • Accede a un gran volumen de datos fríos para interactuar en búsqueda de correlaciones • Generalmente necesita minutos o horas para obtener una respuesta Por ejemplo: Generar reportes por horas, días o meses
  30. 30. Caso de uso: Procesamiento Batch para ETL Amazon EMR Amazon S3 Amazon Glacier Amazon Redshift
  31. 31. Procesamiento de Stream • Analisa datos en pequeños grupos – CEP – Complex Event Processor (if/then/else) – Machine Learning (fraude, recomendaciones, etc.) • Responde en corto lapso de tiempo – Real-time o Near Real-time dependiendo de cada aplicación Por ejemplo: análisis de 1min de operaciones
  32. 32. Herramientas • Batch processing/analytic – Amazon Redshift – Amazon EMR • Hive, Pig, Spark, Impala, Presto, … • Stream processing – Apache Spark streaming – Apache Storm (+ Trident) – Amazon Kinesis client and connector library AML
  33. 33. ¿Cuál herramienta de procesamiento batch debo usar? Redshift Impala Presto Spark Hive Latencia de las queries Baja Baja Baja Baja - Media Media - Alta Durabilidad Alta Alta Alta Alta Alta volumen 1.6PB Max ~Nodos ~Nodos ~Nodos ~Nodos Managed Si EMR bootstrap EMR bootstrap EMR bootstrap Si (EMR) Storage Nativo HDFS HDFS/S3 HDFS/S3 HDFS/S3 # of BI Tools Alta Media Alta Baja Alta Latencia de las queries Baja Alta
  34. 34. Spark Streaming Apache Storm + Trident Kinesis Client Library Escalabilidad/Thro ughput ~ Nodos ~ Nodos ~ Nodos volumen ~ Nodos ~ Nodos ~ Nodos Administración Si (EMR bootstrap) Hágalo usted mismo EC2 + Auto Scaling Tolerencia a fallas Built-in Built-in KCL Check pointing Lenguages de programación / API Java, Python, Scala Java, Scala, Clojure Java, Python ¿Cuál herramienta de procesamiento de Stream debo usar?
  35. 35. ✔ ✔ ✔ AML
  36. 36. Colocando todo junto
  37. 37. Arquitectura desconectada • Múltiples etapas • Storage desconectado del procesamiento Procesar Almacenar Procesar AlmacenarDatos Respuestas
  38. 38. Aplicaciones de Procesamiento (o conectores) pueden escribir en múltiples Data Stores Amazon Kinesis Amazon Kinesis Connectors Amazon S3 Datos Amazon DynamoDB Lambda Architecture Análisis Real Time Análisis Exploratório
  39. 39. Frameworks de Procesamiento (Storm, Hive, Spark, etc) pueden leer de múltiples Data Stores Amazon Kinesis Amazon Kinesis Connectors Amazon S3 Datos Amazon DynamoDB Hive Spark Respuestas Storm Respuestas
  40. 40. Patrones de diseño
  41. 41. Spark Streaming, Apache Storm Amazon Redshift Spark, Impala, Presto Hive Amazon Redshift Hive Spark, Presto Amazon Kinesis/ Kafka Amazon DynamoDB Amazon S3Datos Caliente FríoTemperatura de los datos Latenciadelasqueries Baja Alta Respuesstas HDFS Hive Native Client Temperatura de los dados X Latencia de las queries
  42. 42. Spark Streaming Amazon Kinesis / KafkaDatos Apache Storm Native Client Procesamiento Real-time Amazon DynamoDB Native Client Respuestas
  43. 43. Amazon Redshift Hive Spark, Presto Amazon Kinesis/ Kafka Amazon S3Datos Respuestas Processamento en Batch
  44. 44. Spark, Impala, Presto Redshift Spark, Presto Kinesis/ Kafka S3Datos HDFS Análisis interactivos Respuestas
  45. 45. AML
  46. 46. Resumen • Etapas de procesamiento Big Data: ingestión, almacenamiento, procesamiento y visualización • Usar las herramientas correctas de acuerdo con el trabajo a ser realizado – Ingestión: Dados transaccionales, archivos, stream – Almacenamiento: nivel de estructuración, complejidad de las queries, datos calientes VS fríos, etc. – Procesamiento: Latencia de las queries • Arquitectura de referencia en Big Data y patrones de diseño
  47. 47. ¡Muchas Gracias!

×