52
São Paulo Maio/2015

Aws summit arquitetura big data-v1.2

Embed Size (px)

Citation preview

Page 1: Aws summit arquitetura big data-v1.2

São Paulo

Maio/2015

Page 2: Aws summit arquitetura big data-v1.2

Padrões de Arquitetura para

Big Data

Hélio Silva

Sr. Big Data Analytics Consultant

Professional ServicesAWS Summit São Paulo – Maio/2015

Henrique Souza

Especialista de Cloud e Big Data

Page 3: Aws summit arquitetura big data-v1.2

Agenda

• Desafios de um projeto de Big Data

• Visão simplificada do processamento Big Data

• Qual tecnologia usar?

• Arquitetura de referência

• Design patterns

Page 4: Aws summit arquitetura big data-v1.2

Desafios de um projeto de Big Data

Page 5: Aws summit arquitetura big data-v1.2

Big Data: Volume cresce continuamente

De PB para ZB

GBTB

PB

ZB

EB

1990 2000 2010 2020

Page 6: Aws summit arquitetura big data-v1.2

Big Data tem que responder mais rápido

Big Data Real-time Big Data

Page 7: Aws summit arquitetura big data-v1.2

Um monte de soluções e componentes

Glacier

S3 DynamoDB

RDS

EMR

Redshift

Data PipelineKinesis

Cassandra CloudSearch

AML

Page 8: Aws summit arquitetura big data-v1.2

O que devo usar ?

Page 9: Aws summit arquitetura big data-v1.2

Simplificando o processamento

do Big Data

Page 10: Aws summit arquitetura big data-v1.2

Simplificando o processamento do Big Data

IngestãoPersistência /

Storage Processamento Visualização

Dados

Resposta

s

Tempo

Page 11: Aws summit arquitetura big data-v1.2

GlacierS3

DynamoDB

RDS

Kinesis Spark

Streaming

EMR

Ingestão Persistência Processo/Análise Visualização

Data Pipeline

Storm

Kafka

Redshift

Cassandra

CloudSearch

Kinesis

Connector

Kinesis

enabled app

App Server

Web Server

Devices

AML

Page 12: Aws summit arquitetura big data-v1.2

Ingestão

de

dados

Page 13: Aws summit arquitetura big data-v1.2

Tipos de dados para ingestão

• Transacional

– SGBD leitura/escrita

• Arquivos

– Click-stream logs

– Texto livre

• Stream

– IoT devices

– Tweets

Database

Cloud

Storage

Stream

Storage

Page 14: Aws summit arquitetura big data-v1.2

Stream

Storage

Database

Cloud

Storage

Page 15: Aws summit arquitetura big data-v1.2

Por que um Stream Storage?

• Converte múltiplos

streams em poucos e

persistentes ordenados

sequencialmente

• Desconecta produtores e

consumidores de dados

• Atua como um buffer ou

uma fila

• Streams em sequência

são mais fáceis de

processar

• Preserva a ordenação

para os consumidores

• Streaming “MapReduce”

• Consumidor pode dar um

replay e reprocessar

Page 16: Aws summit arquitetura big data-v1.2

Qual Stream Store devo usar?

• Amazon Kinesis e Kafka têm muitas semelhanças– Múltiplos consumidores

– Ordenação dos registros

– “MapReduce” do Streaming

– Baixa Latência

– Alta durabilidade, disponibilidade e escalabilidade

• Diferenças– Um registro dura 24 horas no Kinesis, no Kafka é configurável

– Tamanho de 50 Kb no Kinesis, no Kafka é configurável

– Kinesis é um serviço totalmente gerenciável – fácil de provisionar, monitorar e escalar. Kafka exige um trabalho de gestão de disponibilidade e escala como um processo ‘on-premisses’

Page 17: Aws summit arquitetura big data-v1.2

Cloud Database &

Storage

Page 18: Aws summit arquitetura big data-v1.2

Cloud Database and Storage Tier Anti-pattern

App/Web Tier

Client Tier

Database & Storage Tier

Page 19: Aws summit arquitetura big data-v1.2

Database e Storage na nuvem — As ferramentas corretas

App/Web Tier

Client Tier

Data TierDatabase & Storage Tier

Search

Hadoop/HDFS

Cache

Blob Store

SQL NoSQL

Page 20: Aws summit arquitetura big data-v1.2

Database e Storage na nuvem — As ferramentas corretas

App/Web Tier

Client Tier

Data TierDatabase & Storage Tier

Amazon RDSAmazon

DynamoDB

AmazonElastiCache

Amazon S3

Amazon

Glacier

Amazon CloudSearch

HDFS on Amazon EMR

Page 21: Aws summit arquitetura big data-v1.2

Qual Storage devo usar?

• Nível de estruturação dos dados

• Complexidade das suas queries

Page 22: Aws summit arquitetura big data-v1.2

Grau de estruturação e complexidade de query

X

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

Gra

u d

e e

str

utu

ração

Grau de complexidade das queries

Page 23: Aws summit arquitetura big data-v1.2

Qual a temperatura dos seus dados?

Page 24: Aws summit arquitetura big data-v1.2

Características dos dados: Quente, Morno, Frio

Quente Morno Frio

Volume MB–GB GB–TB PB

Tamanho de registro B–KB KB–MB KB–TB

Latência ms ms, seg min, horas

Durabilidade Baixa–Alta Alta Muito Alto

Freq. de requisições Muito Alta Alto Baixo

Custo/GB $$-$ $-¢¢ ¢

Page 25: Aws summit arquitetura big data-v1.2

Amazon

RDS

Frequência de Requisiçõesalta baixa

Custo/GBalta baixa

Latênciabaixa alta

Data Volumebaixa alta

AmazonGlacier

AmazonCloudSearch

Estr

utu

ração

baixa

alta

Amazon

DynamoDB

Amazon

ElastiCache

Page 26: Aws summit arquitetura big data-v1.2

Process

✔ ✔

AML

Page 27: Aws summit arquitetura big data-v1.2

Processamento

• Análise Descritiva: BI, OLAP, SQL/data warehouse

• Análise Preditiva: sistemas de recomendação,

previsão de page-views, leilão de anúncios on-line

• Classificação: análise de sentimento, fraude, anti

spam, clustering de clientes para formação de perfis

de consumo

• Correlação: comparar o que se sabe sobre negócio

(BI) com oscilações de mercado, tempo e

temperatura, reputação nas redes sociais

Page 28: Aws summit arquitetura big data-v1.2

Frameworks de processamento

Normalmente em dois tipos:

• Batch– Processamento regular (ex: ETL)

– Análise exploratória (ex:data science)

• Stream– IoT, click-stream, social monitoring,

crawlers, etc

Page 29: Aws summit arquitetura big data-v1.2

Processamento Batch

• Acessar um grande volume de dados frios

e interagir buscando correlações

• Pesquisar uma faixa restrita de tempo

Exemplo: Gerar relatórios por hora, dia, mês ou

semana

Page 30: Aws summit arquitetura big data-v1.2

Caso de uso: Processamento Batch para ETL

AmazonEMR

Amazon

S3

Amazon

Glacier

Amazon

Redshift

Page 31: Aws summit arquitetura big data-v1.2

Processamento de Stream

• Analisa dados em pequenos grupos – CEP – Complex Event Processor (if/then/else)

– Machine Learning (fraude, recomendação, etc.)

• Responde em um espaço curto de tempo– Real time ou near realtime dependendo da aplicação

Exemplo: Análise de 1min de operação

Page 32: Aws summit arquitetura big data-v1.2
Page 33: Aws summit arquitetura big data-v1.2

Ferramentas

• 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

Page 34: Aws summit arquitetura big data-v1.2

Qual ferramenta de processamento batch devo usar?

Redshift Impala Presto Spark Hive

Latência de

query

Baixa Baixa Baixa Baixa - Média Média - Alta

Durabilidade Alta Alta Alta Alta Alta

Volume 1.6PB Max ~Nós ~Nós ~Nós ~Nós

Gerenciado Sim EMR

bootstrap

EMR

bootstrap

EMR

bootstrap

Sim (EMR)

Storage Nativo HDFS HDFS/S3 HDFS/S3 HDFS/S3

# of BI Tools Alta Média Alta Baixa Alta

Latência

de query Baixa Alta

Page 35: Aws summit arquitetura big data-v1.2

Qual processamento de Stream devo usar?

Spark Streaming Apache Storm

+ Trident

Kinesis Client

Library

Escalabilidade/Thr

oughput

~ Nós ~ Nós ~ Nós

Volume ~ Nós ~ Nós ~ Nós

Gerenciamento Sim (EMR

bootstrap)

Faça você

mesmo

EC2 + Auto Scaling

Tolerância a falhas Built-in Built-in KCL Check pointing

Linguagens de

programação / API

Java, Python, Scala Java, Scala,

Clojure

Java, Python

Page 36: Aws summit arquitetura big data-v1.2

✔ ✔ ✔

AML

Page 37: Aws summit arquitetura big data-v1.2

Juntando tudo

Page 38: Aws summit arquitetura big data-v1.2

Arquitetura desconectada

• Múltiplos estágios

• Storage desconectado do processamento

Process Store Process StoreData Answers

Page 39: Aws summit arquitetura big data-v1.2

Aplicações de processamento (ou conectores)

podem gravar em Múltiplos Data Stores

Amazon

Kinesis

Amazon

Kinesis

Connectors

Amazon

S3

Data Amazon

DynamoDB

Lambda Architecture

Análise

Real Time

Análise

Exploratória

Page 40: Aws summit arquitetura big data-v1.2

Frameworks de processamento lendo múltiplos

Data Stores

Amazon

Kinesis

Amazon

Kinesis

Connectors

Amazon

S3

Data Amazon

DynamoDB

Hive Spark

Answers

Storm

Answers

Page 41: Aws summit arquitetura big data-v1.2

Design Patterns

Page 42: Aws summit arquitetura big data-v1.2

Spark

Streaming,

Apache

Storm

Amazon

Redshift Spark,

Impala,

Presto

Hive

Amazon

Redshift

Hive

Spark,

Presto

Amazon

Kinesis/

Kafka

Amazon

DynamoDBAmazon S3Dados

Quente FrioTemperatura dos dados

La

tên

cia

de

qu

ery

Baixa

AltaRespostas

HDFS

Hive

Native

Client

Temperatura dos dados X Latência da query

Page 43: Aws summit arquitetura big data-v1.2

Spark

Streaming

Amazon Kinesis / KafkaDados

Apache Storm Native Client

Processamento Real-time

Amazon

DynamoDB

Native

Client

Respostas

Page 44: Aws summit arquitetura big data-v1.2

Amazon

Redshift

Hive

Spark,

Presto

Amazon

Kinesis/

Kafka

Amazon S3Dados

Respostas

Processamento em Batch

Page 45: Aws summit arquitetura big data-v1.2

Spark,

Impala,

PrestoRedshift

Spark,

Presto

Kinesis/

KafkaS3Dados HDFS

Análises interativas

Respostas

Page 46: Aws summit arquitetura big data-v1.2

AML

Page 47: Aws summit arquitetura big data-v1.2

Sumário

• Estágios de processamento Big data: ingestão,

storage, processamento e visualização

• Usar as ferramentas corretas de acordo com o

trabalho a ser feito– Ingestão: Dados transacionais, arquivos, stream

– Storage: nível de estruturação, padrões de query, quente X frio,

etc.

– Processamento: Latência de query

• Arquitetura de referência em Big Data e design

patterns

Page 48: Aws summit arquitetura big data-v1.2

Big Data no Setor Financeiro

Henrique Souza

Especialista de Cloud e Big Data

Page 49: Aws summit arquitetura big data-v1.2

Contexto e Desafio powered by

Cliente CI&T:

Consultoria Financeira

focada Asset Mngmt. e

Insurance.

Desenvolvendo um Produto

SaaS de Big Data para os

seus clientes finais.

Curto tempo para entrada

em produção. Construindo

uma infraestrutura do zero.

Page 50: Aws summit arquitetura big data-v1.2

Solução powered by

Web Infrastructure &

Security Layer

Report Rendering

(Tableau Server &

Custom Dashboards)

Storage and

Querying"ETL" layer

Page 51: Aws summit arquitetura big data-v1.2

AWS permitiu a

construção de um novo

Produto Digital para

BigData em

pouquíssimo tempo e

com excelentes

resultados.

Produto em produção com

excelentes feedbacks.

Resultados powered by

Tabelas com bilhões de registros

(aumentando todo mês).

Empresa foi recentemente

comprada por um outro grupo

financeiro (USD 4 bi market cap).

Page 52: Aws summit arquitetura big data-v1.2

Obrigado !!!

Hélio Silva

Sr. Big Data Analytics Consultant

Professional Services

Henrique Souza

Especialista de Cloud e Big Data

[email protected]

@htssouza