4. Desafíos en Big Data
¿Por qué?
¿Cómo?
¿Cuáles herramientas usar?
¿Existe una arquitectura de referencia?
5. 1. Desacoplamiento
• Datos → Almacenamiento → Procesamiento →
Almacenamiento → Análisis → Respuestas
2. Herramienta adecuada para cada fase
• Estructura de datos, desempeño, patrones de acceso
3. Enfoque su esfuerzo en lo que es diferencial
• Use serverless y servicios gerenciados
Principios básicos de arquitectura
6. 4. Almacenamiento completo
• Mantenga la mayor cantidad de datos
5. Control de costos
• Big data ≠ big cost
6. Potencie sus aplicaciones con AI/ML
Principios básicos de arquitectura
9. RECOLECCIÓN
Devices
Sensors
IoT platforms
AWS IoT STREAMS
IoT
EventosStream de datos
Migration
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
FILES
Transportededatos
Import/expo
rt
Archivos
Archivos de Log
Archivos de media
Mobile apps
Web apps
Data centers AWS Direct
Connect
RECORDS
Aplicaciones
Transacciones
Datos estructurados
Registros de BD
Tipos de datos
11. RECOLECCIÓN
Devices
Sensors
IoT platforms
AWS IoT STREAMS
IoT
EventosStream de datos
Migration
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
FILES
Transportededatos
Import/expo
rt
Archivos
Archivos de Log
Archivos de media
Mobile apps
Web apps
Data centers AWS Direct
Connect
RECORDS
Aplicaciones
Transacciones
Datos estructurados
Registros de BD
Tipos de datos ALMACENAMIENTO
Relational DB
In-memory
NoSQL
Archivos/
Objetos
Stream
storage
12. RECOLECCIÓN
Devices
Sensors
IoT platforms
AWS IoT STREAMS
IoT
Migration
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
FILES
DataTransport&Logging
Import/expo
rt
Mobile apps
Web apps
Data centers AWS Direct
Connect
RECORDS
Applications
ALMACENAMIENTO
Relational DB
In-memory
NoSQL
Archivos/
Objetos
Stream
storage
13. RECOLECCIÓN
Devices
Sensors
IoT platforms
AWS IoT STREAMS
IoT
Migration
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
FILES
DataTransport&Logging
Import/expo
rt
Mobile apps
Web apps
Data centers AWS Direct
Connect
RECORDS
Applications
ALMACENAMIENTO
NoSQL
In-memory
SQL
Archivos/
Objetos
Apache Kafka
• Alto desempeño, distribuida
Amazon Kinesis Streams
• Gerenciado
Amazon Kinesis Firehose
• Adiciona entrega en un
almacenamiento
Stream Storage
Amazon Kinesis
Firehose
Amazon Kinesis
Streams
Apache Kafka
15. ¿ Cuál tipo de storage de filas utilizar?
Hot Warm
Amazon
Kinesis
Streams
Amazon
Kinesis
Firehose
Apache
Kafka (on Amazon
EC2)
Amazon
SQS
(Standard)
Amazon SQS
(FIFO)
AWS managed Yes Yes No Yes Yes
Guaranteed ordering Yes No Yes No Yes
Delivery (deduping) At least once At least once At least/At
most/exactly once
At least once Exactly once
Data retention period 7 days N/A Configurable 14 days 14 days
Availability 3 AZ 3 AZ Configurable 3 AZ 3 AZ
Scale /
throughput
No limit /
~ shards
No limit /
automatic
No limit /
~ nodes
No limits /
automatic
300 TPS /
queue
Parallel consumption Yes No Yes No No
Stream MapReduce Yes N/A Yes N/A N/A
Row/object size 1 MB Destination
row/object size
Configurable 256 KB 256 KB
Cost Low Low Low (+admin) Low-medium Low-medium
16. RECOLECCIÓN
Devices
Sensors
IoT platforms
AWS IoT STREAMS
IoT
Migration
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
FILES
DataTransport&Logging
Import/expo
rt
Mobile apps
Web apps
Data centers AWS Direct
Connect
RECORDS
Applications
ALMACENAMIENTO
NoSQL
In-memory
SQL
Archivos/
Objetos
Amazon Kinesis
Firehose
Amazon Kinesis
Streams
Apache Kafka
17. RECOLECCIÓN
Devices
Sensors
IoT platforms
AWS IoT STREAMS
IoT
Migration
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
FILES
DataTransport&Logging
Import/expo
rt
Mobile apps
Web apps
Data centers AWS Direct
Connect
RECORDS
Applications
ALMACENAMIENTO
NoSQL
In-memory
SQL
Amazon Kinesis
Firehose
Amazon Kinesis
Streams
Apache Kafka
Amazon S3
Servicio gerenciado de
almacenamiento de objetos;
almacena y recupera cualquier
cantidad de datos
Amazon S3
Stream
Storage de Objetos
18. HDFS y capas de storage
• HDFS como capa de almacenamiento
“hot”
• Amazon S3 Standard para acceso
frecuente
• Amazon S3 Standard – IA acceso
infrecuente
• Amazon Glacier para archivamiento
S3 Analytics: Ayuda a optimizar la
estrategia
S3 Analytics
19. RECOLECCIÓN
Devices
Sensors
IoT platforms
AWS IoT STREAMS
IoT
Migration
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
FILES
DataTransport&Logging
Import/expo
rt
Mobile apps
Web apps
Data centers AWS Direct
Connect
RECORDS
Applications
ALMACENAMIENTO
NoSQL
In-memory
SQL
Amazon Kinesis
Firehose
Amazon Kinesis
Streams
Apache Kafka
Amazon S3
Stream
22. Lo que debemos hacer
SearchIn-memory SQLNoSQLGraphDB
Amazon RDS/AuroraAmazon DynamoDBAmazon ElastiCache Amazon
DynamoDB
Acclerator
SAP HANA
Amazon ES Amazon
CloudSearch
Capa de Base de Datos
23. ¿ Cómo escoger el almacenamiento ?
1. Estructura de datos → Esquema fijo, JSON, Key/Value, Grafos
2. Patrón de acceso → Almacenar en el formato en que se accederá
3. Características de tiempo → Hot, warm, cold
4. Costo → Optimizar
24. Estructura de datos y Patrones de acceso
Patrones de acceso Piense en:
Put/Get (key, value) In-memory, NoSQL
Relaciones simples → 1:N, M:N NoSQL
Múltiples tablas, “join” complejos, transaccional, SQL SQL
Faceting, Search Search
Grafos GraphDB
Estructura Piense en:
Esquema fijo SQL, NoSQL
No esquema (JSON) NoSQL, Search
Key/Value In-memory, NoSQL
Grafos GraphDB
28. Analítica: Tiempo Real
Spark Streaming - Amazon EMR
Amazon Kinesis Analytics
• SQL para Streaming data - Gerenciado
Amazon KCL
• Amazon Kinesis Client Library
AWS Lambda
• Ejecución de código - Serverless
• Diferentes triggers – p.ex: S3 , Kinesis
KCL
Apps
AWS Lambda
Amazon Kinesis
Analytics
Stream
Streaming
Amazon EMR
Procesar / Analizar
29. • Servicios de alto nivel
• Amazon Lex
• Amazon Polly
• Amazon Rekognition
• Transcribe, Translate, Comprehend
• Managed ML Platforms
• Amazon ML
• Amazon SageMaker
• AWS Deep Learning AMI
• Pre-Instalado con MXNet, TensorFlow,
Caffe2 (and Caffe), Theano, Torch,
Microsoft Cognitive Toolkit, Keras
Amazon AI
Procesar / Analizar
Predictive
AmazonAI
Lex PollyAML Rekognition
AWS DL AMI
Desarrolladores
Científicos de
datos
Expertos en
Deep Learning
Analítica: Predictiva
30. ¿Qué tipo de Analítica usar?
Batch
Minutos a horas
Ejemplo: Reportes periódicos
Amazon EMR
Interactiva
Segundos
Ejemplo : Dashboards autoservicio
Amazon Redshift, Amazon Athena, Amazon EMR (Presto, Spark)
Stream
Milisegundos a segundos
Ejemplo : Alertas de operación, métricas granulares
Amazon EMR (Spark Streaming), Amazon Kinesis Analytics, KCL,
AWS Lambda, etc.
Predictiva
Milisegundos (tiempo real) a minutos (batch)
Ejemplo : Detección de fraude, Predicción de demanda,
Reconocimiento
Amazon AI (Lex, Polly, ML, Amazon Rekognition), Amazon EMR
(Spark ML), Deep Learning AMI (MXNet, TensorFlow, Theano, Torch, CNTK,
and Caffe)
Streaming
Amazon Kinesis
Analytics
KCL
Apps
AWS Lambda
Stream
Amazon EMR
Fast
Amazon ES
Amazon Redshift
& Spectrum
Presto
Amazon
EMR
Amazon Athena
BatchInteractive
FastSlow
Predictive
AmazonAI
Lex PollyAML Rekognition
AWS DL AMI
Procesar / Analizar
43. 1. Desacople
2. Use la herramienta adecuada
3. Use servicios gerenciados
4. Almacene todos los datos relevantes
5. Controle los costos
6. Potencie sus aplicaciones con AI/ML
Resumen