SlideShare uma empresa Scribd logo
1 de 62
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Samuel Schmidt
Big Data Consultant
23 de junho de 2017
Construindo seu Data Lake na AWS
Agenda
Conceitos de Data Lake
Simplificando o seu Data Lake
Quais tecnologias utilizar?
• Por quê?
• Como?
Arquitetura de referência
Design patterns
O que é Data Lake?
Data Lake é uma nova arquitetura que vem se tornando
cada vez mais popular com objetivo armazenar e analisar
um volume massivo e tipos heterogêneo de dados.
Por que Data Lake?
Utilizar os dados que podem influênciar o desempenho da sua
organização
• Foco no cliente
• Agilidade de negócio
• Melhores previsões utilizando Machine Learning
• Vantagem Competitiva
Viabilizadores do Data Lake
• Evolução das tecnologias de Big Data
• Evolução/economics dos serviços de cloud
• Convergência da arquitetura Big Data+Cloud
Evolução do Big Data
Processamento
Batch
Processamento
Stream
Inteligência
Artificial
Evolução dos serviços de Cloud
Virtual
machines
Managed
services
Serverless
Várias Ferramentas
Amazon
Glacier
S3 DynamoDB
RDS
EMR
Amazon
Redshift
Data Pipeline
Amazon
Kinesis
Lambda Amazon ML
SQS
ElastiCache
DynamoDB
Streams
Amazon Elasticsearch
Service
Amazon Kinesis
Analytics
Amazon
QuickSight
Desafios do Data Lake
Por quê?
Como?
Quais ferramentas
utilizar?
Há uma arquitetura de referência?
Princípios de Arquitetura
Construir sistemas desacoplados
• Dados → Armazenar→ Processamento→ Armazenar → Análise → Respostas
Ferramenta certa para o trabalho certo
• Estrutura de dados, latência, taxa de transferência, padrões de acesso
Utilizar serviços gerenciados da AWS
• Escalabilidade/elasticidade, disponibildiade, segurança, baixa ou nenhuma necessidade de administração
Utilizar design patterns com foco em logs.
• Log imutável (apenas incremental), materialized views
Custo otimizado
• Big data ≠ $$$$$$
Simplificar o Data Lake
COLETAR ARMAZENAR
PROCESSAR
/ANALISAR
CONSUMIR
Tempo de resposta(Latência)
Taxa de transferência
Custo
Tipos de DadosCOLETAR
Mobile apps
Web apps
Data centers
AWS Direct
Connect
RECORDS
Applications
Estrutura de dados em memória
Registros de banco de dados
AWS Import/Export
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
DOCUMENTS
FILES
LoggingTransport
Busca em documentos
Arquivos de log
Messaging
Message MESSAGES
Messaging
Mensagens
Devices
Sensors &
IoT platforms
AWS IoT STREAMS
IoT
Streams de dados
Transações
Arquivos
Eventos
Qual é a temperatura do seu dado?
Características do Dado : Quente, Morno, Frio
Quente Morno Frio
Volume MB–GB GB–TB PB-EB
Tamanho do Item B–KB KB–MB KB–TB
Latência ms ms, sec min, hrs
Durabilidade Baixo–Alto Alto Muito Alto
Taxa de acesso Muito Alto Alto Baixo
Custo/GB $$-$ $-¢¢ ¢
Dados Quentes Dados Mornos Dados Frios
Armazenar
ARMAZENAR
Devices
Sensors &
IoT platforms
AWS IoT STREAMS
IoT
COLETAR
AWS Import/Export
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
DOCUMENTS
FILES
LoggingTransport
Messaging
Message MESSAGES
MessagingApplications
Mobile apps
Web apps
Data centers
AWS Direct
Connect
RECORDS
Tipos de armazenamento de dados
Database Banco de dados SQL & NoSQL
Search Motores de busca
File store Sistemas de arquivos
Queue Filas de mensagens
Stream
storage
Pub/sub filas de mensagens
In-memory Caches, data structure servers
In-memory
Amazon Kinesis
Firehose
Amazon Kinesis
Streams
Apache Kafka
Amazon DynamoDB
Streams
Amazon SQS
Amazon SQS
• Serviço de filas de mensagens geranciado
Apache Kafka
• Plataforma distribuída de streaming com alta
taxa de transferência
Amazon Kinesis Streams
• Serviço gerenciado de processamento e
armazenamento de dados de streaming
Amazon Kinesis Firehose
• Serviço gerenciado de entrega de dados
Amazon DynamoDB
• Banco de dados NoSQL gerenciado
• Tabelas podem ter stream habilitado
Armazenamento de Mensagens e Stream
Devices
Sensors &
IoT platforms
AWS IoT STREAMS
IoT
COLETAR ARMAZENAR
Mobile apps
Web apps
Data centers
AWS Direct
Connect
RECORDS
Database
Applications
AWS Import/Export
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
DOCUMENTS
FILES
Search
File store
LoggingTransport
Messaging
Message MESSAGES
Messaging
Message
Stream
Por que armazenamento de Streams?
• Desacoplar consumidores &
produtores
• Buffer persistente
• Coletar múltiplos streams
• Preservar ordenação
do cliente
• Consumo paralelo
• Streaming MapReduce
443322114 3 2 1
4 3 2 1
4 3 2 1
4 3 2 1
44332211
shard 1 / partition 1
shard 2 / partition 2
Consumer 1
Countof
red = 4
Countof
violet= 4
Consumer 2
Countof
blue = 4
Countof
green = 4
DynamoDB stream Amazon Kinesis stream Kafka topic
E sobre Amazon SQS?
• Desacoplar produtores e consumidores
• Buffer persistente
• Coletar streams múltiplos
• Sem ordenação (Padrão)
• Fila FIFO preserva a ordem
• Sem streaming MapReduce
• Sem consumo paralelo
• Amazon SNS consegue publicar
para múltiplos subscribers (filas
ou funções ʎ)
Publisher
Amazon SNS
topic
function
ʎ
AWS
Lambda
function
Amazon SQS
queue
queue
Subscriber
Consumers
4 3 2 1
12344 3 2 1
1234
2134
13342
Standard
FIFO
Qual armazenamento Stream/Fila de Mensagens devo utilizar?
Amazon
DynamoDB
Streams
Amazon
Kinesis
Streams
Amazon
Kinesis
Firehose
Apache
Kafka
Amazon
SQS (Standard)
Amazon SQS
(FIFO)
AWS gerenciado Sim Sim Sim Não Sim Sim
Garantia de ordem Sim Sim Não Sim Não Sim
Entrega
(desaclopamento)
Exatamente
uma vez
Pelo menos
uma vez
Pelo menos uma
vez
Pelo menos uma
vez
Pelo menos uma
vez
Exatamente uma
vez
Tempo de retenção 24 horas 7 dias N/A Configurável 14 dias 14 dias
Disponibilidade 3 AZ 3 AZ 3 AZ Configurável 3 AZ 3 AZ
Escala /
throughput
Sem limite /
~ table IOPS
Sem limite /
~ shards
Sem limite /
Automático
Sem limite /
~ nós
Sem limite /
Automático
300 TPS / fila
Consumo paralelo Sim Sim Não Sim Não Não
Stream MapReduce Sim Sim N/A Sim N/A N/A
Tamanho da
linha/objeto
400 KB 1 MB Tamanho da linha
do destino/objeto
Configurável 256 KB 256 KB
Custo Alto Baixo Baixo Baixo
(+administração)
Baixo-médio Baixo-médio
Hot Warm
New
In-memory
COLETAR ARMAZENAR
Mobile apps
Web apps
Data centers
AWS Direct
Connect
RECORDS
Database
AWS Import/Export
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
DOCUMENTS
FILES
Search
Messaging
Message MESSAGES
Devices
Sensors &
IoT platforms
AWS IoT STREAMS
Apache Kafka
Amazon Kinesis
Streams
Amazon Kinesis
Firehose
Amazon DynamoDB
Streams
Hot
Stream
Amazon S3
Amazon SQS
Message
Amazon S3
File
LoggingIoTApplicationsTransportMessaging
Armazenamento de
Arquivos
Por que o Amazon S3 é utilizado para Data Lake?
• Suportado nativamente por frameworks de Big Data (Spark, Hive, Presto, etc.)
• Desacoplar armazenamento e processamento
• Sem necessidade de rodar clusters para storage (diferente do HDFS)
• Permite rodar clusters Hadoop transientes & utilizar instâncias EC2 Spot
• Múltiplos clusters distintos podem usar os mesmos dados
• Número ilimitado de objetos e de volume de dados
• Alta taxa de transferência – sem limite agregado de taxa de transferência
• Desenhado para ter 99.99% de disponibilidade - tolera falha nas AZs
• Desenhado para durabilidade de 99.999999999%
• Não é necessário pagar por replicação do dado
• Suporte nativo a versionamento
• Tiered-storage (Standard, IA, Amazon Glacier) com políticas de ciclo de vida do dado
• Seguro – criptografia em trânsito com SSL, em descanso com client/server-side
• Baixo custo
E o HDFS e Amazon Glacier?
• Usar HDFS para dados frequentemente
acessados (quente)
• Usar Amazon S3 Standard para dados
frequentemente acessados
• Usar Amazon S3 Standard – IA para dados
que não são frequentemente acessados
• Usar Amazon Glacier para arquivar dados
frios
• Usar o Amazon S3 Analytics para analisar a
categoria de armazenamento dos objetos.
New
In-memory
COLETAR ARMAZENAR
Mobile apps
Web apps
Data centers
AWS Direct
Connect
RECORDS Database
AWS Import/Export
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
DOCUMENTS
FILES
Search
Messaging
Message MESSAGES
Devices
Sensors &
IoT platforms
AWS IoT STREAMS
Apache Kafka
Amazon Kinesis
Streams
Amazon Kinesis
Firehose
Amazon DynamoDB
Streams
Hot
Stream
Amazon SQS
Message
Amazon S3
File
LoggingIoTApplicationsTransportMessaging
In-memory, Banco de
dados, Busca
Anti-Pattern
Melhores práticas – Ferramenta certa para o trabalho certo
Busca
Amazon Elasticsearch
Service
In-memory
Amazon ElastiCache
Redis
Memcached
SQL
Amazon Aurora
Amazon RDS
MySQL
PostgreSQL
Oracle
SQL Server
NoSQL
Amazon DynamoDB
Cassandra
HBase
MongoDB
Materialized Views & Log imutável
Views
Log
imutável
COLETAR ARMAZENAR
Mobile apps
Web apps
Data centers
AWS Direct
Connect
RECORDS
AWS Import/Export
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
DOCUMENTS
FILES
Messaging
Message MESSAGES
Devices
Sensors &
IoT platforms
AWS IoT STREAMS
Apache Kafka
Amazon Kinesis
Streams
Amazon Kinesis
Firehose
Amazon DynamoDB
Streams
Hot
Stream
Amazon SQS
Message
Amazon Elasticsearch
Service
Amazon DynamoDB
Amazon S3
Amazon ElastiCache
Amazon RDS
SearchSQLNoSQLCacheFile
LoggingIoTApplicationsTransportMessaging
Amazon ElastiCache
• Serviço gerenciado de Memcached ou
Redis
Amazon DynamoDB
• Base de dados NoSQL gerenciado
Amazon RDS
• Serviço de banco de dados relacional
gerenciado
Amazon Elasticsearch Service
• Serviço gerenciado de Elasticsearch
Qual tipo de armazenamento utilizar?
Estrutura de dados → Schema fixo, JSON, chave-valor
Padrão de acesso → Armazenar dados no formato que você
vai acessar
Temperatura do dado → Quente, morno, frio
Custo→ Custo adequado
Estrutura de dados e Padrões de acesso
Padrões de Acesso O que utilizar?
Put/Get (chave, valor) In-memory, NoSQL
Relações simples → 1:N, M:N NoSQL
Multi-table joins, transação, SQL SQL
Faceting, search Search
Estrutura de dados O que utilizar?
Schema fixo SQL, NoSQL
Schema flexível (JSON) NoSQL, Busca
(Chave, Valor) In-memory, NoSQL
In-memory
SQL
Taxa de acesso
Alto Baixo
Custo/GB
Alto Baixo
Latência
Baixo Alto
Volume de dados
Baixo Alto
Amazon
Glacier
Esruturado
NoSQL
Dados quentes Dados mornos Dados frios
Pouco
Muito
Qual tipo de armazenamento devo utilizar?
Amazon
ElastiCache
Amazon
DynamoDB
Amazon
RDS/Aurora
Amazon
Elasticsearch
Amazon S3 Amazon Glacier
Latência
Média
ms ms ms, seg ms,seg ms,seg,min
(~ tamanho)
hrs
Volume de Dados GB GB–TBs
(sem limite)
GB–TB
(64 TB
Max)
GB–TB MB–PB
(sem limite)
GB–PB
(sem limite)
Tamanho do Item B-KB KB
(400 KB
max)
KB
(64 KB)
B-KB
(2 GB max)
KB-GB
(5 TB max)
GB
(40 TB max)
Taxa de Acesso Alta -
Muito Alta
Muito Alta
(sem limite)
Alta Alta Baixa –
Muito Alta
(sem limite)
Muito Baixa
Custo
armazenamento
GB/mês
$$ ¢¢ ¢¢ ¢¢ ¢ ¢4/10
Durabilidade Baixo -
Moderada
Muito Alta Muito Alta Alta Muito Alta Muito Alta
Availability Alta
2 AZ
Muito alta
3 AZ
Muito alta
3 AZ
Alta
2AZ
Muito alta
3 AZ
Muito alta
3 AZ
Quente Morno Frio
Modelo com Custo Otimizado
Exemplo: Eu deveria usar Amazon S3 ou Amazon DynamoDB?
“Atualmente estou analisando um projeto. O modelo requer
diversos arquivos pequenos, talvez um bilhão durante o
pico. O tamanho total seria na ordem de 1.5 TB por mês…”
Taxa de
requisição
(Escrita/seg)
Tamanho do
objeto
(Bytes)
Tamanho
total
(GB/mês)
Objetos por
mês
300 2048 1483 777,600,000
https://calculator.s3.amazonaws.com/index.html
Simple Monthly
Calculator
Modelo com Custo Otimizado
Example: Eu deveria usar Amazon S3 ou Amazon
DynamoDB?
Amazon S3 ou
DynamoDB?
Taxa de
requisição
(Escrita/seg)
Tamanho do
objeto
(Bytes)
Tamanho total
(GB/mês)
Objetos por mês
300 2048 1483 777,600,000
Taxa de requisição
(Escrita/seg)
Tamanho do
objeto
(Bytes)
Tamanho total
(GB/mês)
Objetos por mês
Scenario 1300 2,048 1,483 777,600,000
Scenario 2300 32,768 23,730 777,600,000
Amazon S3
Amazon DynamoDB
usar
usar
PROCESSAR
/ ANALISAR
Batch
Leva de minutos a horas
Exemplo: Reports diários/semanais/mensais
Amazon EMR (MapReduce, Hive, Pig, Spark)
Interativo
Leva segundos
Exemplo: Self-service dashboards
Amazon Redshift, Amazon Athena, Amazon EMR (Presto, Spark)
Messagem
Leva de milissegundos a segundos
Exemplo: Processamento de mensagens
Amazon SQS applications on Amazon EC2
Stream
Leva de milissegundos a segundos
Exemplo: Alertas de fraude, Métricas de 1 minuto
Amazon EMR (Spark Streaming), Amazon Kinesis Analytics, KCL, Storm, AWS
Lambda
Inteligência Artificial
Leva de milissegundos a segundos
Exemplo: Detecção de fraude, previsão de demanda, text to speech
Amazon AI (Lex, Polly, ML, Rekognition), Amazon EMR (Spark ML), Deep
Learning AMI (MXNet, TensorFlow, Theano, Torch, CNTK and Caffe)
Tipos de Analytics e Frameworks PROCESSAR / ANALISAR
Message
Amazon SQS apps
Amazon EC2
Streaming
Amazon Kinesis
Analytics
KCL
apps
AWS Lambda
Stream
Amazon EC2
Amazon EMR
Fast
Amazon Redshift
Presto
Amazon
EMR
FastSlow
Amazon Athena
BatchInteractive
Amazon
AI
AI
Qual processamento Stream/Mensagem devo utilizar?
Amazon EMR
(Spark
Streaming)
Apache Storm KCL
Application
Amazon
Kinesis
Analytics
AWS
Lambda
Amazon SQS
Application
AWS
gerenciado
Sim(Amazon
EMR)
Não (Faça
você mesmo)
Não (EC2 +
Auto Scaling)
Sim Sim Não (EC2 + Auto
Scaling)
Serverless Não Não Não Sim Sim Não
Escala /
throughput
Sem limite /
~ nodes
Sem limite /
~ nodes
Sem limite /
~ nodes
Até 8 KPU /
automático
Sem limite /
automático
Sem limite /
~ nodes
Disponibilidade Única AZ Configurável Multi-AZ Multi-AZ Multi-AZ Multi-AZ
Linguagem de
programação
Java, Python,
Scala
Qualquer
linguagem via
Thrift
Java, outras
MultiLangDaemon
ANSI SQL with
extensions
Node.js, Java,
Python
AWS SDK (Java,
.NET, Python,
…)
Uso Múltiplos
estágios de
processamento
Múltiplos
estágios de
processamento
Único estágio
de
processamento
Múltiplos
estágios de
processamento
Eventos
simples
baseados em
triggers
Eventos simples
baseados em
triggers
Confiabilidade KCL e Spark
checkpoints
Framework
managed
Gerenciado
pelo KCL
Gerenciado pelo
Amazon Kinesis
Analytics
Gerenciado
pelo AWS
Lambda
Gerenciado pelo
SQS Visibility
Timeout
Qual ferramenta analítica devo utilizar?
Amazon Redshift Amazon Athena Amazon EMR
Presto Spark Hive
Caso de uso Otimizado para data
warehousing
Ad-hoc Queries interativas Queries
interativas
Propósito geral
(interativa ML, RT, ..)
Batch
Escala/throughput ~Nodes Automático / Sem limite ~ Nodes
AWS Serviço
gerenciado
Sim Sim, Serverless Sim
Armazenamento Local storage Amazon S3 Amazon S3, HDFS
Otimização Storage Colunar,
Compressão de dados, e
zone maps
CSV, TSV, JSON,
Parquet, ORC, Apache
Web log
Framework dependent
Metadados Amazon Redshift
managed
Athena Catalog Manager Hive Meta-store
Suporte a
ferramentas de BI
Sim (JDBC/ODBC) Sim (JDBC) Sim (JDBC/ODBC & Custom)
Controle de acesso Usuários, grupos, e
controle de acesso
AWS IAM Integração com LDAP
Suporte a UDF Sim (Scalar) Não Sim
Slow
E sobre ETL?
https://aws.amazon.com/big-data/partner-solutions/
ETLARMAZENAR PROCESSAR / ANALISAR
Parceiros de Integração de Dados
Reduzir o esforço para mover, limpar, sincronizar, gerenciar
e automatizar processos relacionados a dados AWS Glue
AWS Glue é um serviço de ETL totalmente
gerenciado que facilita o entendimento da sua fonte
de dados, prepara os dados e os move de forma
confiável entre camadas de armazenamento de
dados
New
CONSUMIR
COLETAR ARMAZENAR CONSUMIRPROCESSAR / ANALISAR
Amazon Elasticsearch
Service
Apache Kafka
Amazon SQS
Amazon Kinesis
Streams
Amazon Kinesis
Firehose
Amazon DynamoDB
Amazon ElastiCache
Amazon RDS
Amazon DynamoDB
Streams
HotHotWarm
FileMessage
Stream
Mobile apps
Web apps
Devices
Messaging
Message
Sensors &
IoT platforms
AWS IoT
Data centers
AWS Direct
Connect
AWS Import/Export
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
RECORDS
DOCUMENTS
FILES
MESSAGES
STREAMS
LoggingIoTApplicationsTransportMessaging
ETL
SearchSQLNoSQLCache
Streaming
Amazon Kinesis
Analytics
KCL
apps
AWS Lambda
Fast
Stream
Amazon EC2
Amazon EMR
Amazon SQS apps
Amazon Redshift
Presto
Amazon
EMR
FastSlow
Amazon EC2
Amazon Athena
BatchMessageInteractiveAI
Amazon
AI
Amazon S3
ARMAZENAR CONSUMIRPROCESSAR/ANALISAR
Amazon QuickSight
Apps & Services
Analysis&visualizationNotebooksIDEAPI
Aplicações & API
Análises e visualização
Notebooks
IDE
Usuários do
negócios
Cientistas de
dados,
desenvolvedores
COLETAR ETL
Todas as camadas
Streaming
Amazon Kinesis
Analytics
KCL
apps
AWS Lambda
COLETAR ARMAZENAR CONSUMIRPROCESSAR / ANALISAR
Amazon Elasticsearch
Service
Apache Kafka
Amazon SQS
Amazon Kinesis
Streams
Amazon Kinesis
Firehose
Amazon DynamoDB
Amazon ElastiCache
Amazon RDS
Amazon DynamoDB
Streams
HotHotWarm
Fast
Stream
SearchSQLNoSQLCacheFileMessageStream
Amazon EC2
Mobile apps
Web apps
Devices
Messaging
Message
Sensors &
IoT platforms
AWS IoT
Data centers
AWS Direct
Connect
AWS Import/Export
Snowball
Logging
Amazon
CloudWatch
AWS
CloudTrail
RECORDS
DOCUMENTS
FILES
MESSAGES
STREAMS
Amazon QuickSight
Apps & Services
Analysis&visualizationNotebooksIDEAPI
LoggingIoTApplicationsTransportMessaging
ETL
Amazon EMR
Amazon SQS apps
Amazon Redshift
Presto
Amazon
EMR
FastSlow
Amazon EC2
Amazon Athena
BatchMessageInteractiveAI
Amazon
AI
Amazon S3
E os Metadados?
• Amazon Athena Catalog
• Catálogo interno para tabelas/esquemas no S3
• Glue Catalog
• Hive Metastore compatível
• Crawlers - Detectar novos dados, schema e
partições
• Busca - Metadata discovery
• EMR Hive Metastore (Presto, Spark, Hive, Pig)
• Pode ser armazenado no Amazon RDS
Presto
Amazon
EMR
Amazon Athena
Data
Catalog
Amazon Athena
Catalog RDS
Amazon EMR
Hive Metastore
Amazon RDS
Glue
Catalog
Segurança e Governança
• AWS Identity and Access Management (IAM)
• Amazon Cognito
• Amazon CloudWatch & AWS CloudTrail
• Amazon KMS
• AWS Directory Service
• Apache Ranger
Security &
Governance IAM Amazon
CloudWatch
AWS
CloudTrail
AWS
KMS
AWS
CloudHSM
AWS Directory
Service
Amazon
Cognito
Security &
Governance IAM AWS
STS
Amazon
CloudWatch
AWS
CloudTrail
AWS
KMS
AWS
CloudHSM
AWS Directory
Service
Data
Catalog
Amazon Athena
Catalog RDS
Hive
Metastore EMR RDS
Glue
Catalog
Arquitetura de
referência para
Data Lake
Data Lake na AWS
Catalog & Search
Access and search metadata
Access & User Interface
Give your users easy and secure access
DynamoDB Elasticsearch API Gateway Identity & Access
Management
Cognito
QuickSight Amazon AI EMR Redshift
Athena Kinesis
Analytics
RDS
Central Storage
Secure, cost-effective
Storage in Amazon S3
S3
Snowball Database Migration
Service
Kinesis Firehose Direct Connect
Data Ingestion
Get your data into S3
Quickly and securely
Protect and Secure
Use entitlements to ensure data is secure and users’ identities are verified
Processing & Analytics
Use of predictive and prescriptive
analytics to gain better understanding
Security Token
Service
CloudWatch CloudTrail Key Management
Service
Design Patterns
Spark Streaming
Apache Storm
AWS Lambda
KCL apps
Amazon
Redshift
Amazon
Redshift
Hive
Spark
Presto
Amazon Kinesis Amazon
DynamoDB
Amazon S3dado
Quente Frio
Temperatura do
Dado
Velocidadedeprocessamento
Rápido
Lento Respostas
Hive
Native apps
KCL apps
AWS Lambda
Amazon
Athena
Amazon EMR
Real-time Analytics
Amazon
Kinesis
KCL app
AWS Lambda
Spark
Streaming
Amazon
SNS
Amazon
AI
Notificações
Amazon
ElastiCache
(Redis)
Amazon
DynamoDB
Amazon
RDS
Amazon
ES
Alertas
App state or
Materialized
View
Previsão em tempo real
KPI
processar
armazenar
Amazon Kinesis
Analytics
Amazon
S3
Log
Amazon
KinesisFan out
Interativo &
Batch
Analytics
Amazon S3
Amazon EMR
Hive
Pig
Spark
Amazon
AI
processar
armazenar
Consumir
Amazon Redshift
Amazon EMR
Presto
Spark
Batch
Interativo
Previsão batch
Previsão real time
Amazon
Kinesis
Firehose
Amazon Athena
Arquivos
Amazon Kinesis
Analytics
Interativo &
Batch
Amazon S3
Amazon
Redshift
Amazon EMR
Presto
Hive
Pig
Spark
Amazon
ElastiCache
Amazon
DynamoDB
Amazon
RDS
Amazon
ES
AWS Lambda
Storm
Spark Streaming
on Amazon EMR
Aplicãções
Amazon
Kinesis
App state
or
Materialized
View
KCL
Amazon
AI
Real-time
Amazon
DynamoDB
Amazon
RDS
Change Data
Capture
Transações
Stream
Arquivos
Data Lake
Amazon Kinesis
Analytics
Amazon Athena
Amazon Kinesis
Firehose
Resources
• https://aws.amazon.com/blogs/big-data/introducing-the-data-
lake-solution-on-aws/
• AWS re:Invent 2016: Netflix: Using Amazon S3 as the fabric of
our big data ecosystem (BDM306)
• AWS re:Invent 2016: Deep Dive on Amazon S3 (STG303)
• https://aws.amazon.com/blogs/big-data/reinvent-2016-aws-big-
data-machine-learning-sessions/
• https://aws.amazon.com/blogs/big-data/implementing-
authorization-and-auditing-using-apache-ranger-on-amazon-emr/
Caso de uso Webmotors
“Tomada de decisão orientada à dados”
Webmotors tem 21 anos e é
considerada top of mind entre os
classificados automotivos.
+ 30 milhões de visitas por mês
+ 130 milhões de buscas por mês
Maior estoque automotivo do Brasil
+ 250 veículos anunciados
“Escolhemos a AWS
pela variedade de
recursos para obter o
melhor potencial das
nossas analises”
O Desafio
• Analise de grande volume de
informações;
• Acessos
• Conversão em vendas
• Único repositorio para
informações;
• Governança de dados;
• Analises em tempo real.
Solução
AWS Region
security group
EC2 instance
IIS
(App layer)
AmazonKinesis
Streams
s3://wm-datalake/source
logs
Adobe Analytics and DMP
Upload to S3 through
connectors
EC2 instance
SQL
Server
(Database
layer)
Adobe Cloud
Pentaho
CloudWatch
Logs
s3://wm-4insights
Amazon Redshift
COPY from S3 into Redshift
ST IT Services on AWS
EC2 instance
4Insights
(Metadata and
Mapping Layer)
Metadata , mapping and
Submit load jobs to Redshift s3://wm-sandbox/
EMR Cluster –
Hive/Spark/Presto
Exploratory
analysis,
Transform,
Advanced
Analytics
Glacier
EMR Cluster –
Hive/Spark/Presto
Create Schemas and
Process Data
Hive metastore
DynamodDB
Data Catalog
and tags
EMR Cluster –
Spark Streaming
Lambda
Lambda
Send data
to Kinesis
Data transformation,
metrics calculations and
geração de alertas
Amazon Elasticsearch Service
WM corporate office
User DesktopEC2 instance
PDI
(ETL
layer)
s3://wm-datalake/consume
Kibana/Dashboard
Tableau
Desktop
VPN
connection
EC2 instance
Tableau Server
(BI layer)
Extract data from Redshift and
load into S3 wm-sandbox
WM - VPC
Ainda não tem o App oficial do
AWS Summit São Paulo?
http://amzn.to/2rOcsVy
Não deixe de avaliar as sessões no app!
Obrigado!

Mais conteúdo relacionado

Mais procurados

Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Amazon Web Services
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획InGuen Hwang
 
AWS re:Invent 특집(3) – Amazon 인공 지능(AI) 서비스 및 AWS 딥러닝 프레임웍 활용 (윤석찬)
AWS re:Invent 특집(3) – Amazon 인공 지능(AI) 서비스 및 AWS 딥러닝 프레임웍 활용 (윤석찬)AWS re:Invent 특집(3) – Amazon 인공 지능(AI) 서비스 및 AWS 딥러닝 프레임웍 활용 (윤석찬)
AWS re:Invent 특집(3) – Amazon 인공 지능(AI) 서비스 및 AWS 딥러닝 프레임웍 활용 (윤석찬)Amazon Web Services Korea
 
AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...
AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...
AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...Amazon Web Services Korea
 
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기Amazon Web Services Korea
 
Administração da Produção - Supply Chain e Logistica
Administração da Produção - Supply Chain e LogisticaAdministração da Produção - Supply Chain e Logistica
Administração da Produção - Supply Chain e Logisticadouglas
 
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신AgileKoreaConference Alliance
 
AWS 솔루션을 활용한 마케팅 및 고객 관리 혁신 – 김선수, AWS 아마존 커넥트 사업 담당:: AWS Summit Online Kor...
AWS 솔루션을 활용한 마케팅 및 고객 관리 혁신 – 김선수, AWS 아마존 커넥트 사업 담당::  AWS Summit Online Kor...AWS 솔루션을 활용한 마케팅 및 고객 관리 혁신 – 김선수, AWS 아마존 커넥트 사업 담당::  AWS Summit Online Kor...
AWS 솔루션을 활용한 마케팅 및 고객 관리 혁신 – 김선수, AWS 아마존 커넥트 사업 담당:: AWS Summit Online Kor...Amazon Web Services Korea
 
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저Amazon Web Services Korea
 
[Lean kanban brazil 2017] Workshop de métricas
[Lean kanban brazil 2017] Workshop de métricas[Lean kanban brazil 2017] Workshop de métricas
[Lean kanban brazil 2017] Workshop de métricasRaphael Donaire Albino
 
Treinamento Product Management | Circuito de Treinamentos AddTech
Treinamento Product Management | Circuito de Treinamentos AddTechTreinamento Product Management | Circuito de Treinamentos AddTech
Treinamento Product Management | Circuito de Treinamentos AddTech.add
 
BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )Marco Garcia
 
농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...
농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...
농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...Amazon Web Services Korea
 
운영이관업무 효율화방안
 운영이관업무 효율화방안 운영이관업무 효율화방안
운영이관업무 효율화방안Eugene Chung
 
MSA를 넘어 Function의 로의 진화::주경호 수석::AWS Summit Seoul 2018
MSA를 넘어 Function의 로의 진화::주경호 수석::AWS Summit Seoul 2018MSA를 넘어 Function의 로의 진화::주경호 수석::AWS Summit Seoul 2018
MSA를 넘어 Function의 로의 진화::주경호 수석::AWS Summit Seoul 2018Amazon Web Services Korea
 
Enterprise Network Architectures on AWS
Enterprise Network Architectures on AWSEnterprise Network Architectures on AWS
Enterprise Network Architectures on AWSAmazon Web Services
 
AWS_Architecture_e-commerce
AWS_Architecture_e-commerceAWS_Architecture_e-commerce
AWS_Architecture_e-commerceSEONGTAEK OH
 

Mais procurados (20)

Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획
 
AWS re:Invent 특집(3) – Amazon 인공 지능(AI) 서비스 및 AWS 딥러닝 프레임웍 활용 (윤석찬)
AWS re:Invent 특집(3) – Amazon 인공 지능(AI) 서비스 및 AWS 딥러닝 프레임웍 활용 (윤석찬)AWS re:Invent 특집(3) – Amazon 인공 지능(AI) 서비스 및 AWS 딥러닝 프레임웍 활용 (윤석찬)
AWS re:Invent 특집(3) – Amazon 인공 지능(AI) 서비스 및 AWS 딥러닝 프레임웍 활용 (윤석찬)
 
AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...
AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...
AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...
 
Cmmi e mps.Br
Cmmi e mps.BrCmmi e mps.Br
Cmmi e mps.Br
 
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
 
Administração da Produção - Supply Chain e Logistica
Administração da Produção - Supply Chain e LogisticaAdministração da Produção - Supply Chain e Logistica
Administração da Produção - Supply Chain e Logistica
 
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신
Amazon & AWS의 MSA와 DevOps, 그리고 지속적 혁신
 
Documentação de Processos de Negócio
Documentação de Processos de NegócioDocumentação de Processos de Negócio
Documentação de Processos de Negócio
 
AWS 솔루션을 활용한 마케팅 및 고객 관리 혁신 – 김선수, AWS 아마존 커넥트 사업 담당:: AWS Summit Online Kor...
AWS 솔루션을 활용한 마케팅 및 고객 관리 혁신 – 김선수, AWS 아마존 커넥트 사업 담당::  AWS Summit Online Kor...AWS 솔루션을 활용한 마케팅 및 고객 관리 혁신 – 김선수, AWS 아마존 커넥트 사업 담당::  AWS Summit Online Kor...
AWS 솔루션을 활용한 마케팅 및 고객 관리 혁신 – 김선수, AWS 아마존 커넥트 사업 담당:: AWS Summit Online Kor...
 
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
 
[Lean kanban brazil 2017] Workshop de métricas
[Lean kanban brazil 2017] Workshop de métricas[Lean kanban brazil 2017] Workshop de métricas
[Lean kanban brazil 2017] Workshop de métricas
 
Treinamento Product Management | Circuito de Treinamentos AddTech
Treinamento Product Management | Circuito de Treinamentos AddTechTreinamento Product Management | Circuito de Treinamentos AddTech
Treinamento Product Management | Circuito de Treinamentos AddTech
 
BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )
 
농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...
농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...
농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...
 
운영이관업무 효율화방안
 운영이관업무 효율화방안 운영이관업무 효율화방안
운영이관업무 효율화방안
 
Metricas ageis
Metricas ageisMetricas ageis
Metricas ageis
 
MSA를 넘어 Function의 로의 진화::주경호 수석::AWS Summit Seoul 2018
MSA를 넘어 Function의 로의 진화::주경호 수석::AWS Summit Seoul 2018MSA를 넘어 Function의 로의 진화::주경호 수석::AWS Summit Seoul 2018
MSA를 넘어 Function의 로의 진화::주경호 수석::AWS Summit Seoul 2018
 
Enterprise Network Architectures on AWS
Enterprise Network Architectures on AWSEnterprise Network Architectures on AWS
Enterprise Network Architectures on AWS
 
AWS_Architecture_e-commerce
AWS_Architecture_e-commerceAWS_Architecture_e-commerce
AWS_Architecture_e-commerce
 

Semelhante a Construindo seu Data Lake na AWS: Arquitetura e Tecnologias

Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Amazon Web Services LATAM
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataAmazon Web Services LATAM
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Amazon Web Services
 
AWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWSAWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWSAmazon Web Services LATAM
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Amazon Web Services LATAM
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarAmazon Web Services LATAM
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo SummitAmazon Web Services
 
Encontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoEncontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoAmazon Web Services LATAM
 

Semelhante a Construindo seu Data Lake na AWS: Arquitetura e Tecnologias (20)

Aws summit arquitetura big data-v1.2
Aws summit arquitetura big data-v1.2Aws summit arquitetura big data-v1.2
Aws summit arquitetura big data-v1.2
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
 
Construindo Data Lakes e Analytics na AWS
Construindo Data Lakes e Analytics na AWSConstruindo Data Lakes e Analytics na AWS
Construindo Data Lakes e Analytics na AWS
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon Redshift
 
Bancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWSBancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
 
Introducao ao Amazon Redshift
Introducao ao Amazon RedshiftIntroducao ao Amazon Redshift
Introducao ao Amazon Redshift
 
Construindo um Data Lake na AWS
Construindo um Data Lake na AWSConstruindo um Data Lake na AWS
Construindo um Data Lake na AWS
 
Introducao a aws storage backup e archiving
Introducao a aws storage backup e archivingIntroducao a aws storage backup e archiving
Introducao a aws storage backup e archiving
 
AWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWSAWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWS
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
 
Construindo um data lake na nuvem aws
Construindo um data lake na nuvem awsConstruindo um data lake na nuvem aws
Construindo um data lake na nuvem aws
 
Encontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoEncontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de Trabalho
 

Mais de Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSAmazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAmazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAmazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosAmazon Web Services LATAM
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 

Mais de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 

Construindo seu Data Lake na AWS: Arquitetura e Tecnologias

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Samuel Schmidt Big Data Consultant 23 de junho de 2017 Construindo seu Data Lake na AWS
  • 2. Agenda Conceitos de Data Lake Simplificando o seu Data Lake Quais tecnologias utilizar? • Por quê? • Como? Arquitetura de referência Design patterns
  • 3. O que é Data Lake? Data Lake é uma nova arquitetura que vem se tornando cada vez mais popular com objetivo armazenar e analisar um volume massivo e tipos heterogêneo de dados.
  • 4. Por que Data Lake? Utilizar os dados que podem influênciar o desempenho da sua organização • Foco no cliente • Agilidade de negócio • Melhores previsões utilizando Machine Learning • Vantagem Competitiva
  • 5. Viabilizadores do Data Lake • Evolução das tecnologias de Big Data • Evolução/economics dos serviços de cloud • Convergência da arquitetura Big Data+Cloud
  • 6. Evolução do Big Data Processamento Batch Processamento Stream Inteligência Artificial
  • 7. Evolução dos serviços de Cloud Virtual machines Managed services Serverless
  • 8. Várias Ferramentas Amazon Glacier S3 DynamoDB RDS EMR Amazon Redshift Data Pipeline Amazon Kinesis Lambda Amazon ML SQS ElastiCache DynamoDB Streams Amazon Elasticsearch Service Amazon Kinesis Analytics Amazon QuickSight
  • 9. Desafios do Data Lake Por quê? Como? Quais ferramentas utilizar? Há uma arquitetura de referência?
  • 10. Princípios de Arquitetura Construir sistemas desacoplados • Dados → Armazenar→ Processamento→ Armazenar → Análise → Respostas Ferramenta certa para o trabalho certo • Estrutura de dados, latência, taxa de transferência, padrões de acesso Utilizar serviços gerenciados da AWS • Escalabilidade/elasticidade, disponibildiade, segurança, baixa ou nenhuma necessidade de administração Utilizar design patterns com foco em logs. • Log imutável (apenas incremental), materialized views Custo otimizado • Big data ≠ $$$$$$
  • 11. Simplificar o Data Lake COLETAR ARMAZENAR PROCESSAR /ANALISAR CONSUMIR Tempo de resposta(Latência) Taxa de transferência Custo
  • 12. Tipos de DadosCOLETAR Mobile apps Web apps Data centers AWS Direct Connect RECORDS Applications Estrutura de dados em memória Registros de banco de dados AWS Import/Export Snowball Logging Amazon CloudWatch AWS CloudTrail DOCUMENTS FILES LoggingTransport Busca em documentos Arquivos de log Messaging Message MESSAGES Messaging Mensagens Devices Sensors & IoT platforms AWS IoT STREAMS IoT Streams de dados Transações Arquivos Eventos
  • 13. Qual é a temperatura do seu dado?
  • 14. Características do Dado : Quente, Morno, Frio Quente Morno Frio Volume MB–GB GB–TB PB-EB Tamanho do Item B–KB KB–MB KB–TB Latência ms ms, sec min, hrs Durabilidade Baixo–Alto Alto Muito Alto Taxa de acesso Muito Alto Alto Baixo Custo/GB $$-$ $-¢¢ ¢ Dados Quentes Dados Mornos Dados Frios
  • 16. ARMAZENAR Devices Sensors & IoT platforms AWS IoT STREAMS IoT COLETAR AWS Import/Export Snowball Logging Amazon CloudWatch AWS CloudTrail DOCUMENTS FILES LoggingTransport Messaging Message MESSAGES MessagingApplications Mobile apps Web apps Data centers AWS Direct Connect RECORDS Tipos de armazenamento de dados Database Banco de dados SQL & NoSQL Search Motores de busca File store Sistemas de arquivos Queue Filas de mensagens Stream storage Pub/sub filas de mensagens In-memory Caches, data structure servers
  • 17. In-memory Amazon Kinesis Firehose Amazon Kinesis Streams Apache Kafka Amazon DynamoDB Streams Amazon SQS Amazon SQS • Serviço de filas de mensagens geranciado Apache Kafka • Plataforma distribuída de streaming com alta taxa de transferência Amazon Kinesis Streams • Serviço gerenciado de processamento e armazenamento de dados de streaming Amazon Kinesis Firehose • Serviço gerenciado de entrega de dados Amazon DynamoDB • Banco de dados NoSQL gerenciado • Tabelas podem ter stream habilitado Armazenamento de Mensagens e Stream Devices Sensors & IoT platforms AWS IoT STREAMS IoT COLETAR ARMAZENAR Mobile apps Web apps Data centers AWS Direct Connect RECORDS Database Applications AWS Import/Export Snowball Logging Amazon CloudWatch AWS CloudTrail DOCUMENTS FILES Search File store LoggingTransport Messaging Message MESSAGES Messaging Message Stream
  • 18. Por que armazenamento de Streams? • Desacoplar consumidores & produtores • Buffer persistente • Coletar múltiplos streams • Preservar ordenação do cliente • Consumo paralelo • Streaming MapReduce 443322114 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 44332211 shard 1 / partition 1 shard 2 / partition 2 Consumer 1 Countof red = 4 Countof violet= 4 Consumer 2 Countof blue = 4 Countof green = 4 DynamoDB stream Amazon Kinesis stream Kafka topic
  • 19. E sobre Amazon SQS? • Desacoplar produtores e consumidores • Buffer persistente • Coletar streams múltiplos • Sem ordenação (Padrão) • Fila FIFO preserva a ordem • Sem streaming MapReduce • Sem consumo paralelo • Amazon SNS consegue publicar para múltiplos subscribers (filas ou funções ʎ) Publisher Amazon SNS topic function ʎ AWS Lambda function Amazon SQS queue queue Subscriber Consumers 4 3 2 1 12344 3 2 1 1234 2134 13342 Standard FIFO
  • 20. Qual armazenamento Stream/Fila de Mensagens devo utilizar? Amazon DynamoDB Streams Amazon Kinesis Streams Amazon Kinesis Firehose Apache Kafka Amazon SQS (Standard) Amazon SQS (FIFO) AWS gerenciado Sim Sim Sim Não Sim Sim Garantia de ordem Sim Sim Não Sim Não Sim Entrega (desaclopamento) Exatamente uma vez Pelo menos uma vez Pelo menos uma vez Pelo menos uma vez Pelo menos uma vez Exatamente uma vez Tempo de retenção 24 horas 7 dias N/A Configurável 14 dias 14 dias Disponibilidade 3 AZ 3 AZ 3 AZ Configurável 3 AZ 3 AZ Escala / throughput Sem limite / ~ table IOPS Sem limite / ~ shards Sem limite / Automático Sem limite / ~ nós Sem limite / Automático 300 TPS / fila Consumo paralelo Sim Sim Não Sim Não Não Stream MapReduce Sim Sim N/A Sim N/A N/A Tamanho da linha/objeto 400 KB 1 MB Tamanho da linha do destino/objeto Configurável 256 KB 256 KB Custo Alto Baixo Baixo Baixo (+administração) Baixo-médio Baixo-médio Hot Warm New
  • 21. In-memory COLETAR ARMAZENAR Mobile apps Web apps Data centers AWS Direct Connect RECORDS Database AWS Import/Export Snowball Logging Amazon CloudWatch AWS CloudTrail DOCUMENTS FILES Search Messaging Message MESSAGES Devices Sensors & IoT platforms AWS IoT STREAMS Apache Kafka Amazon Kinesis Streams Amazon Kinesis Firehose Amazon DynamoDB Streams Hot Stream Amazon S3 Amazon SQS Message Amazon S3 File LoggingIoTApplicationsTransportMessaging Armazenamento de Arquivos
  • 22. Por que o Amazon S3 é utilizado para Data Lake? • Suportado nativamente por frameworks de Big Data (Spark, Hive, Presto, etc.) • Desacoplar armazenamento e processamento • Sem necessidade de rodar clusters para storage (diferente do HDFS) • Permite rodar clusters Hadoop transientes & utilizar instâncias EC2 Spot • Múltiplos clusters distintos podem usar os mesmos dados • Número ilimitado de objetos e de volume de dados • Alta taxa de transferência – sem limite agregado de taxa de transferência • Desenhado para ter 99.99% de disponibilidade - tolera falha nas AZs • Desenhado para durabilidade de 99.999999999% • Não é necessário pagar por replicação do dado • Suporte nativo a versionamento • Tiered-storage (Standard, IA, Amazon Glacier) com políticas de ciclo de vida do dado • Seguro – criptografia em trânsito com SSL, em descanso com client/server-side • Baixo custo
  • 23. E o HDFS e Amazon Glacier? • Usar HDFS para dados frequentemente acessados (quente) • Usar Amazon S3 Standard para dados frequentemente acessados • Usar Amazon S3 Standard – IA para dados que não são frequentemente acessados • Usar Amazon Glacier para arquivar dados frios • Usar o Amazon S3 Analytics para analisar a categoria de armazenamento dos objetos. New
  • 24. In-memory COLETAR ARMAZENAR Mobile apps Web apps Data centers AWS Direct Connect RECORDS Database AWS Import/Export Snowball Logging Amazon CloudWatch AWS CloudTrail DOCUMENTS FILES Search Messaging Message MESSAGES Devices Sensors & IoT platforms AWS IoT STREAMS Apache Kafka Amazon Kinesis Streams Amazon Kinesis Firehose Amazon DynamoDB Streams Hot Stream Amazon SQS Message Amazon S3 File LoggingIoTApplicationsTransportMessaging In-memory, Banco de dados, Busca
  • 26. Melhores práticas – Ferramenta certa para o trabalho certo Busca Amazon Elasticsearch Service In-memory Amazon ElastiCache Redis Memcached SQL Amazon Aurora Amazon RDS MySQL PostgreSQL Oracle SQL Server NoSQL Amazon DynamoDB Cassandra HBase MongoDB
  • 27. Materialized Views & Log imutável Views Log imutável
  • 28. COLETAR ARMAZENAR Mobile apps Web apps Data centers AWS Direct Connect RECORDS AWS Import/Export Snowball Logging Amazon CloudWatch AWS CloudTrail DOCUMENTS FILES Messaging Message MESSAGES Devices Sensors & IoT platforms AWS IoT STREAMS Apache Kafka Amazon Kinesis Streams Amazon Kinesis Firehose Amazon DynamoDB Streams Hot Stream Amazon SQS Message Amazon Elasticsearch Service Amazon DynamoDB Amazon S3 Amazon ElastiCache Amazon RDS SearchSQLNoSQLCacheFile LoggingIoTApplicationsTransportMessaging Amazon ElastiCache • Serviço gerenciado de Memcached ou Redis Amazon DynamoDB • Base de dados NoSQL gerenciado Amazon RDS • Serviço de banco de dados relacional gerenciado Amazon Elasticsearch Service • Serviço gerenciado de Elasticsearch
  • 29. Qual tipo de armazenamento utilizar? Estrutura de dados → Schema fixo, JSON, chave-valor Padrão de acesso → Armazenar dados no formato que você vai acessar Temperatura do dado → Quente, morno, frio Custo→ Custo adequado
  • 30. Estrutura de dados e Padrões de acesso Padrões de Acesso O que utilizar? Put/Get (chave, valor) In-memory, NoSQL Relações simples → 1:N, M:N NoSQL Multi-table joins, transação, SQL SQL Faceting, search Search Estrutura de dados O que utilizar? Schema fixo SQL, NoSQL Schema flexível (JSON) NoSQL, Busca (Chave, Valor) In-memory, NoSQL
  • 31. In-memory SQL Taxa de acesso Alto Baixo Custo/GB Alto Baixo Latência Baixo Alto Volume de dados Baixo Alto Amazon Glacier Esruturado NoSQL Dados quentes Dados mornos Dados frios Pouco Muito
  • 32. Qual tipo de armazenamento devo utilizar? Amazon ElastiCache Amazon DynamoDB Amazon RDS/Aurora Amazon Elasticsearch Amazon S3 Amazon Glacier Latência Média ms ms ms, seg ms,seg ms,seg,min (~ tamanho) hrs Volume de Dados GB GB–TBs (sem limite) GB–TB (64 TB Max) GB–TB MB–PB (sem limite) GB–PB (sem limite) Tamanho do Item B-KB KB (400 KB max) KB (64 KB) B-KB (2 GB max) KB-GB (5 TB max) GB (40 TB max) Taxa de Acesso Alta - Muito Alta Muito Alta (sem limite) Alta Alta Baixa – Muito Alta (sem limite) Muito Baixa Custo armazenamento GB/mês $$ ¢¢ ¢¢ ¢¢ ¢ ¢4/10 Durabilidade Baixo - Moderada Muito Alta Muito Alta Alta Muito Alta Muito Alta Availability Alta 2 AZ Muito alta 3 AZ Muito alta 3 AZ Alta 2AZ Muito alta 3 AZ Muito alta 3 AZ Quente Morno Frio
  • 33. Modelo com Custo Otimizado Exemplo: Eu deveria usar Amazon S3 ou Amazon DynamoDB? “Atualmente estou analisando um projeto. O modelo requer diversos arquivos pequenos, talvez um bilhão durante o pico. O tamanho total seria na ordem de 1.5 TB por mês…” Taxa de requisição (Escrita/seg) Tamanho do objeto (Bytes) Tamanho total (GB/mês) Objetos por mês 300 2048 1483 777,600,000
  • 34. https://calculator.s3.amazonaws.com/index.html Simple Monthly Calculator Modelo com Custo Otimizado Example: Eu deveria usar Amazon S3 ou Amazon DynamoDB?
  • 35. Amazon S3 ou DynamoDB? Taxa de requisição (Escrita/seg) Tamanho do objeto (Bytes) Tamanho total (GB/mês) Objetos por mês 300 2048 1483 777,600,000
  • 36. Taxa de requisição (Escrita/seg) Tamanho do objeto (Bytes) Tamanho total (GB/mês) Objetos por mês Scenario 1300 2,048 1,483 777,600,000 Scenario 2300 32,768 23,730 777,600,000 Amazon S3 Amazon DynamoDB usar usar
  • 38. Batch Leva de minutos a horas Exemplo: Reports diários/semanais/mensais Amazon EMR (MapReduce, Hive, Pig, Spark) Interativo Leva segundos Exemplo: Self-service dashboards Amazon Redshift, Amazon Athena, Amazon EMR (Presto, Spark) Messagem Leva de milissegundos a segundos Exemplo: Processamento de mensagens Amazon SQS applications on Amazon EC2 Stream Leva de milissegundos a segundos Exemplo: Alertas de fraude, Métricas de 1 minuto Amazon EMR (Spark Streaming), Amazon Kinesis Analytics, KCL, Storm, AWS Lambda Inteligência Artificial Leva de milissegundos a segundos Exemplo: Detecção de fraude, previsão de demanda, text to speech Amazon AI (Lex, Polly, ML, Rekognition), Amazon EMR (Spark ML), Deep Learning AMI (MXNet, TensorFlow, Theano, Torch, CNTK and Caffe) Tipos de Analytics e Frameworks PROCESSAR / ANALISAR Message Amazon SQS apps Amazon EC2 Streaming Amazon Kinesis Analytics KCL apps AWS Lambda Stream Amazon EC2 Amazon EMR Fast Amazon Redshift Presto Amazon EMR FastSlow Amazon Athena BatchInteractive Amazon AI AI
  • 39. Qual processamento Stream/Mensagem devo utilizar? Amazon EMR (Spark Streaming) Apache Storm KCL Application Amazon Kinesis Analytics AWS Lambda Amazon SQS Application AWS gerenciado Sim(Amazon EMR) Não (Faça você mesmo) Não (EC2 + Auto Scaling) Sim Sim Não (EC2 + Auto Scaling) Serverless Não Não Não Sim Sim Não Escala / throughput Sem limite / ~ nodes Sem limite / ~ nodes Sem limite / ~ nodes Até 8 KPU / automático Sem limite / automático Sem limite / ~ nodes Disponibilidade Única AZ Configurável Multi-AZ Multi-AZ Multi-AZ Multi-AZ Linguagem de programação Java, Python, Scala Qualquer linguagem via Thrift Java, outras MultiLangDaemon ANSI SQL with extensions Node.js, Java, Python AWS SDK (Java, .NET, Python, …) Uso Múltiplos estágios de processamento Múltiplos estágios de processamento Único estágio de processamento Múltiplos estágios de processamento Eventos simples baseados em triggers Eventos simples baseados em triggers Confiabilidade KCL e Spark checkpoints Framework managed Gerenciado pelo KCL Gerenciado pelo Amazon Kinesis Analytics Gerenciado pelo AWS Lambda Gerenciado pelo SQS Visibility Timeout
  • 40. Qual ferramenta analítica devo utilizar? Amazon Redshift Amazon Athena Amazon EMR Presto Spark Hive Caso de uso Otimizado para data warehousing Ad-hoc Queries interativas Queries interativas Propósito geral (interativa ML, RT, ..) Batch Escala/throughput ~Nodes Automático / Sem limite ~ Nodes AWS Serviço gerenciado Sim Sim, Serverless Sim Armazenamento Local storage Amazon S3 Amazon S3, HDFS Otimização Storage Colunar, Compressão de dados, e zone maps CSV, TSV, JSON, Parquet, ORC, Apache Web log Framework dependent Metadados Amazon Redshift managed Athena Catalog Manager Hive Meta-store Suporte a ferramentas de BI Sim (JDBC/ODBC) Sim (JDBC) Sim (JDBC/ODBC & Custom) Controle de acesso Usuários, grupos, e controle de acesso AWS IAM Integração com LDAP Suporte a UDF Sim (Scalar) Não Sim Slow
  • 41. E sobre ETL? https://aws.amazon.com/big-data/partner-solutions/ ETLARMAZENAR PROCESSAR / ANALISAR Parceiros de Integração de Dados Reduzir o esforço para mover, limpar, sincronizar, gerenciar e automatizar processos relacionados a dados AWS Glue AWS Glue é um serviço de ETL totalmente gerenciado que facilita o entendimento da sua fonte de dados, prepara os dados e os move de forma confiável entre camadas de armazenamento de dados New
  • 43. COLETAR ARMAZENAR CONSUMIRPROCESSAR / ANALISAR Amazon Elasticsearch Service Apache Kafka Amazon SQS Amazon Kinesis Streams Amazon Kinesis Firehose Amazon DynamoDB Amazon ElastiCache Amazon RDS Amazon DynamoDB Streams HotHotWarm FileMessage Stream Mobile apps Web apps Devices Messaging Message Sensors & IoT platforms AWS IoT Data centers AWS Direct Connect AWS Import/Export Snowball Logging Amazon CloudWatch AWS CloudTrail RECORDS DOCUMENTS FILES MESSAGES STREAMS LoggingIoTApplicationsTransportMessaging ETL SearchSQLNoSQLCache Streaming Amazon Kinesis Analytics KCL apps AWS Lambda Fast Stream Amazon EC2 Amazon EMR Amazon SQS apps Amazon Redshift Presto Amazon EMR FastSlow Amazon EC2 Amazon Athena BatchMessageInteractiveAI Amazon AI Amazon S3
  • 44. ARMAZENAR CONSUMIRPROCESSAR/ANALISAR Amazon QuickSight Apps & Services Analysis&visualizationNotebooksIDEAPI Aplicações & API Análises e visualização Notebooks IDE Usuários do negócios Cientistas de dados, desenvolvedores COLETAR ETL
  • 46. Streaming Amazon Kinesis Analytics KCL apps AWS Lambda COLETAR ARMAZENAR CONSUMIRPROCESSAR / ANALISAR Amazon Elasticsearch Service Apache Kafka Amazon SQS Amazon Kinesis Streams Amazon Kinesis Firehose Amazon DynamoDB Amazon ElastiCache Amazon RDS Amazon DynamoDB Streams HotHotWarm Fast Stream SearchSQLNoSQLCacheFileMessageStream Amazon EC2 Mobile apps Web apps Devices Messaging Message Sensors & IoT platforms AWS IoT Data centers AWS Direct Connect AWS Import/Export Snowball Logging Amazon CloudWatch AWS CloudTrail RECORDS DOCUMENTS FILES MESSAGES STREAMS Amazon QuickSight Apps & Services Analysis&visualizationNotebooksIDEAPI LoggingIoTApplicationsTransportMessaging ETL Amazon EMR Amazon SQS apps Amazon Redshift Presto Amazon EMR FastSlow Amazon EC2 Amazon Athena BatchMessageInteractiveAI Amazon AI Amazon S3
  • 47. E os Metadados? • Amazon Athena Catalog • Catálogo interno para tabelas/esquemas no S3 • Glue Catalog • Hive Metastore compatível • Crawlers - Detectar novos dados, schema e partições • Busca - Metadata discovery • EMR Hive Metastore (Presto, Spark, Hive, Pig) • Pode ser armazenado no Amazon RDS Presto Amazon EMR Amazon Athena Data Catalog Amazon Athena Catalog RDS Amazon EMR Hive Metastore Amazon RDS Glue Catalog
  • 48. Segurança e Governança • AWS Identity and Access Management (IAM) • Amazon Cognito • Amazon CloudWatch & AWS CloudTrail • Amazon KMS • AWS Directory Service • Apache Ranger Security & Governance IAM Amazon CloudWatch AWS CloudTrail AWS KMS AWS CloudHSM AWS Directory Service Amazon Cognito
  • 49. Security & Governance IAM AWS STS Amazon CloudWatch AWS CloudTrail AWS KMS AWS CloudHSM AWS Directory Service Data Catalog Amazon Athena Catalog RDS Hive Metastore EMR RDS Glue Catalog Arquitetura de referência para Data Lake
  • 50. Data Lake na AWS Catalog & Search Access and search metadata Access & User Interface Give your users easy and secure access DynamoDB Elasticsearch API Gateway Identity & Access Management Cognito QuickSight Amazon AI EMR Redshift Athena Kinesis Analytics RDS Central Storage Secure, cost-effective Storage in Amazon S3 S3 Snowball Database Migration Service Kinesis Firehose Direct Connect Data Ingestion Get your data into S3 Quickly and securely Protect and Secure Use entitlements to ensure data is secure and users’ identities are verified Processing & Analytics Use of predictive and prescriptive analytics to gain better understanding Security Token Service CloudWatch CloudTrail Key Management Service
  • 52. Spark Streaming Apache Storm AWS Lambda KCL apps Amazon Redshift Amazon Redshift Hive Spark Presto Amazon Kinesis Amazon DynamoDB Amazon S3dado Quente Frio Temperatura do Dado Velocidadedeprocessamento Rápido Lento Respostas Hive Native apps KCL apps AWS Lambda Amazon Athena
  • 53. Amazon EMR Real-time Analytics Amazon Kinesis KCL app AWS Lambda Spark Streaming Amazon SNS Amazon AI Notificações Amazon ElastiCache (Redis) Amazon DynamoDB Amazon RDS Amazon ES Alertas App state or Materialized View Previsão em tempo real KPI processar armazenar Amazon Kinesis Analytics Amazon S3 Log Amazon KinesisFan out
  • 54. Interativo & Batch Analytics Amazon S3 Amazon EMR Hive Pig Spark Amazon AI processar armazenar Consumir Amazon Redshift Amazon EMR Presto Spark Batch Interativo Previsão batch Previsão real time Amazon Kinesis Firehose Amazon Athena Arquivos Amazon Kinesis Analytics
  • 55. Interativo & Batch Amazon S3 Amazon Redshift Amazon EMR Presto Hive Pig Spark Amazon ElastiCache Amazon DynamoDB Amazon RDS Amazon ES AWS Lambda Storm Spark Streaming on Amazon EMR Aplicãções Amazon Kinesis App state or Materialized View KCL Amazon AI Real-time Amazon DynamoDB Amazon RDS Change Data Capture Transações Stream Arquivos Data Lake Amazon Kinesis Analytics Amazon Athena Amazon Kinesis Firehose
  • 56. Resources • https://aws.amazon.com/blogs/big-data/introducing-the-data- lake-solution-on-aws/ • AWS re:Invent 2016: Netflix: Using Amazon S3 as the fabric of our big data ecosystem (BDM306) • AWS re:Invent 2016: Deep Dive on Amazon S3 (STG303) • https://aws.amazon.com/blogs/big-data/reinvent-2016-aws-big- data-machine-learning-sessions/ • https://aws.amazon.com/blogs/big-data/implementing- authorization-and-auditing-using-apache-ranger-on-amazon-emr/
  • 57. Caso de uso Webmotors
  • 58. “Tomada de decisão orientada à dados” Webmotors tem 21 anos e é considerada top of mind entre os classificados automotivos. + 30 milhões de visitas por mês + 130 milhões de buscas por mês Maior estoque automotivo do Brasil + 250 veículos anunciados “Escolhemos a AWS pela variedade de recursos para obter o melhor potencial das nossas analises”
  • 59. O Desafio • Analise de grande volume de informações; • Acessos • Conversão em vendas • Único repositorio para informações; • Governança de dados; • Analises em tempo real.
  • 60. Solução AWS Region security group EC2 instance IIS (App layer) AmazonKinesis Streams s3://wm-datalake/source logs Adobe Analytics and DMP Upload to S3 through connectors EC2 instance SQL Server (Database layer) Adobe Cloud Pentaho CloudWatch Logs s3://wm-4insights Amazon Redshift COPY from S3 into Redshift ST IT Services on AWS EC2 instance 4Insights (Metadata and Mapping Layer) Metadata , mapping and Submit load jobs to Redshift s3://wm-sandbox/ EMR Cluster – Hive/Spark/Presto Exploratory analysis, Transform, Advanced Analytics Glacier EMR Cluster – Hive/Spark/Presto Create Schemas and Process Data Hive metastore DynamodDB Data Catalog and tags EMR Cluster – Spark Streaming Lambda Lambda Send data to Kinesis Data transformation, metrics calculations and geração de alertas Amazon Elasticsearch Service WM corporate office User DesktopEC2 instance PDI (ETL layer) s3://wm-datalake/consume Kibana/Dashboard Tableau Desktop VPN connection EC2 instance Tableau Server (BI layer) Extract data from Redshift and load into S3 wm-sandbox WM - VPC
  • 61. Ainda não tem o App oficial do AWS Summit São Paulo? http://amzn.to/2rOcsVy Não deixe de avaliar as sessões no app!

Notas do Editor

  1. Is it about storing all data in a single location ? It is not enough…. You need all the critical components I will show you how to assemble this together…? Persist an immutable copy of data Materialize views
  2. Hourly server logs: were your systems misbehaving 1hr ago Weekly / Monthly Bill: what you spent this billing cycle Daily customer-preferences report from your web site’s click stream: what deal or ad to try next time Daily fraud reports: was there fraud yesterday Real-time alerts: what went wrong now Real-time spending caps: prevent overspending now Real-time analysis: what to offer the current customer now Real-time detection: block fraudulent use now I need to harness big data, fast I want more happy customers I want to save/make more money
  3. http://www.allthingsdistributed.com/2016/06/aws-lambda-serverless-reference-architectures.html
  4. Hive Spark Storm Kafka HBase Flume Impala Cascading EMR DynamoDB S3 Redshift Kinesis RDS Glacier
  5. Is there a reference architecture? What tools should I use? How? Why?
  6. Types of Data Heavily read, app defined data structures Database records Search documents Log files Messaging events Devices / sensors / IoT stream Database Records Search Documents Log Files Messaging Events What is streaming data? An unbounded sequence of events that is continuously captured and processed with low latency. Devices / Sensors / IoT Stream
  7. Types of Data Heavily read, app defined data structures Database records Search documents Log files Messaging events Devices / sensors / IoT stream Database Records Search Documents Log Files Messaging Events Devices / Sensors / IoT Stream
  8. http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html https://aws.amazon.com/blogs/aws/new-for-amazon-simple-queue-service-fifo-queues-with-exactly-once-delivery-deduplication/ http://calculator.s3.amazonaws.com/index.html#r=IAD&key=calc-BE3BA3E4-1AC5-4E7A-B542-015056D8EDAF Kinesis -> $52.14 per month SQS -> $133.42 per month for puts or $400/month (put, get, delete) DynamoDB -> $3809.88 per month (10TB of storage cost itself is $2500/month) Cost (100rpsx 35KB) $52/month $133/month * 2 = $266/month ? Amazon DynamoDB Service (US-East) $ Provisioned Throughput Capacity: $120 Indexed Data Storage: $2560.90 DynamoDB Streams: $1.3 Amazon SQS Service (US-East) Pricing Example Let’s assume that our data producers put 100 records per second in aggregate, and each record is 35KB. In this case, the total data input rate is 3.4MB/sec (100 records/sec*35KB/record). For simplicity, we assume that the throughput and data size of each record are stable and constant throughout the day. Please note that we can dynamically adjust the throughput of our Amazon Kinesis stream at any time. We first calculate the number of shards needed for our stream to achieve the required throughput. As one shard provides a capacity of 1MB/sec data input and supports 1000 records/sec, four shards provide a capacity of 4MB/sec data input and support 4000 records/sec. So a stream with four shards satisfies our required throughput of 3.4MB/sec at 100 records/sec. We then calculate our monthly Amazon Kinesis costs using Amazon Kinesis pricing in the US-East Region: Shard Hour: One shard costs $0.015 per hour, or $0.36 per day ($0.015*24). Our stream has four shards so that it costs $1.44 per day ($0.36*4). For a month with 31 days, our monthly Shard Hour cost is $44.64 ($1.44*31). PUT Payload Unit (25KB): As our record is 35KB, each record contains two PUT Payload Units. Our data producers put 100 records or 200 PUT Payload Units per second in aggregate. That is 267,840,000 records or 535,680,000 PUT Payload Units per month. As one million PUT Payload Units cost $0.014, our monthly PUT Payload Units cost is $7.499 ($0.014*535.68). Adding the Shard Hour and PUT Payload Unit costs together, our total Amazon Kinesis costs are $1.68 per day, or $52.14 per month. For $1.68 per day, we have a fully-managed streaming data infrastructure that enables us to continuously ingest 4MB of data per second, or 337GB of data per day in a reliable and elastic manner.
  9. 2 x 2 Matrix Structured Level of query (from none to complex) Draw down the slide
  10. Scenario1: http://calculator.s3.amazonaws.com/index.html#r=IAD&key=calc-F6B3AD98-1404-4770-BAB0-1F5397F445A7 Scenario 2: http://calculator.s3.amazonaws.com/index.html#r=IAD&key=calc-2440EC2A-1C16-4BCE-B5CE-5075887F4A47
  11. Add connector Direct Acyclic Graphs? Exactly once processing & DAG? – how do you do this?? https://storm.apache.org/documentation/Rationale.html http://www.slideshare.net/ptgoetz/apache-storm-vs-spark-streaming
  12. Athena – Simple Redshift – Fast EMR - Configurable Add connector 30% queries & 70% of data – Athena… Direct Acyclic Graphs? Exactly once processing & DAG? — how do you do this?? https://storm.apache.org/documentation/Rationale.html http://www.slideshare.net/ptgoetz/apache-storm-vs-spark-streaming
  13. Data Integration Reduce the effort to move, cleanse, synchronize, manage, and automatize data related processes.
  14. Applications & API Analysis and Visualization Notebooks IDE
  15. Amazon Athena uses an internal data catalog to store information and schemas about the databases and tables that you create for your data stored in Amazon S3.
  16. AWS Identity and Access Management (IAM) - enables you to securely control access to AWS services and resources for your users Amazon Cognito lets you easily add user sign-up and sign-in to your mobile and web apps Amazon CloudWatch is a monitoring service for AWS cloud resources and the applications you run on AWS With CloudTrail, you can log, continuously monitor, and retain events related to API calls across your AWS infrastructure AWS Key Management Service (KMS) is a managed service that makes it easy for you to create and control the encryption keys used to encrypt your data, and uses Hardware Security Modules (HSMs) to protect the security of your keys. AWS Key Management Service is integrated with several other AWS services to help you protect the data you store with these services. AWS Key Management Service is also integrated with AWS CloudTrail to provide you with logs of all key usage to help meet your regulatory and compliance needs. AWS Directory Service for Microsoft Active Directory (Enterprise Edition), also known as AWS Microsoft AD, enables your directory-aware workloads and AWS resources to use managed Active Directory in the AWS Cloud. The Microsoft AD service is built on actual Microsoft Active Directory and does not require you to synchronize or replicate data from your existing Active Directory to the cloud https://aws.amazon.com/blogs/big-data/implementing-authorization-and-auditing-using-apache-ranger-on-amazon-emr/
  17. This is a summary of all six design patterns together. This summarizes all of the solutions available in the context of the temperature of the data and the data processing latency requirements. Hive – 1 year worth of click stream data Spark – 1 year of click stream data – what people are buying frequently together Redshift – reporting, enterprise reporting tool – SQL Heavy Impala – same as redshift Preseto same league as Impala presto – Interactive SQL analytics – have a Hadoop installed base…. NoSQL – Analytics on NoSQL
  18. Best practices BDT318 - Netflix Keystone: How Netflix Handles Data Streams Up to 8 Million Events Per Second Use Kinesis or Kafka for stream storage Use appropriate stream processing tool KCL – Simple, only for Kinesis Apache Storm – general purpose Spark Streaming – Windowing, MLlib, Statefull AWS Lambda – fully managed, no servers, stateless Use Amazon SNS for Alerts Use Amazon ML for predictions Use a managed database/cache for state management Use a visualization tool for KPI visualization
  19. Lambda Architecture best practices Use Kinesis or Kafka for stream storage Maintain an immutable (append only) raw master data in Amazon S3 - use Amazon Kinesis S3 connector or Firehose Use appropriate batch processing technologies for creating batch views Use appropriate stream processing technology for real-time views Use a serving layer with an appropriate database to serve downstream applications
  20. Diagrama de solução, e explicar a solução, vantagens, etc
  21. 30 segundos para apresentar a empresa, rapidamente
  22. Os 4 (máximo) maiores desafios do projeto, que foram resolvidos pela utilização da nuvem da AWS
  23. Diagrama de solução, e explicar a solução, vantagens, etc