2. CDS, 25/10/2011
Motivação
2011: dados gerados
no mundo ultrapassou
1.8 ZB = 1.8 trilhão GB
2011: dados gerados
no mundo ultrapassou
1.8 ZB = 1.8 trilhão GB
A quantidade de dadosdo mundo está maisque dobrando a cadadois anos!
A quantidade de dadosdo mundo está maisque dobrando a cadadois anos!
Fonte: Extracting Value from Chaos, 2011
Estatística cresce mais
rápido que a Lei de
Moore!
Estatística cresce mais
rápido que a Lei de
Moore!
5. CDS, 25/10/2011
O que é Big Data?
GrandeGrande
ComplexoComplexo
Não-estruturadoNão-estruturado
6. CDS, 25/10/2011
Motivação
“Empresas devem aprender rapidamente o quão
importante é lidar com big data, pois o volume de
dados gerados não dá nenhum sinal de
desaceleração.” (Oracle Big Data white paper)
“Os dados não são criados por relevância,
eles se tornam relevantes!” (IBM Big Data
white paper)
7. CDS, 25/10/2011
Objetivo
Como lidar com grandes
quantidades de LOGS?
Como lidar com grandes
quantidades de LOGS?
Como MONITORAR
informações?
Como MONITORAR
informações?
Como obter ESTATÍSTICAS de
grandes massas de dados?
Como obter ESTATÍSTICAS de
grandes massas de dados?
10. CDS, 25/10/2011
NYT: menos de 24h para
converter para PDF 4TB
de arquivos scaneados
utilizando 100 máquinas de
Hadoop
Facebook possui omaior cluster deHadoop do mundo:30PB
Yahoo! utiliza Hadoop
para ordenar 1TB em
59s
Hadoop: ficha técnica
12. CDS, 25/10/2011
Hadoop tecnicamente...
• Java
• Open Source
• Projeto top level da Apache
• Commiters: Yahoo! e Cloudera
• Plataformas com Hadoop: MapR, Hadapt, Cloudera…
14. CDS, 25/10/2011
O que é Hadoop?
O software Apache Hadoop é um framework que
permite o processamento distribuído de grande
massa de dados armazenados em clusters, utilizando
um modelo de programação simples.
Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
15. CDS, 25/10/2011
O que é Hadoop?
= +
armazenamento processamento
Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
17. CDS, 25/10/2011
HDFS: como funciona?
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
Sinceramente, não penso
em termos individuais.
Ronaldo lamentou não ter
podido fazer a sua
cobrança na disputa de
pênaltis, mas enalteceu o
trabalho da seleção
portuguesa na Eurocopa.
Antes de deixar a
Donbass Arena em sua
última partida na
Eurocopa 2012,
300 MB
Dado um arquivo…
18. CDS, 25/10/2011
HDFS: como funciona?
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
Sinceramente, não penso
em termos individuais.
Ronaldo lamentou não ter
podido fazer a sua
cobrança na disputa de
pênaltis, mas enalteceu o
trabalho da seleção
portuguesa na Eurocopa.
Antes de deixar a
Donbass Arena em sua
última partida na
Eurocopa 2012,
128 MB
HDFS divide em blocos
128 MB
44 MB
19. CDS, 25/10/2011
HDFS: como funciona?
HDFS manterá 3 cópias de cada bloco
A partida em Donetsk foi a
última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
Sinceramente, não penso
em termos individuais.
Ronaldo lamentou não ter
podido fazer a sua
cobrança na disputa de
pênaltis, mas enalteceu o
trabalho da seleção
portuguesa na Eurocopa.
Antes de deixar a
Donbass Arena em sua
última partida na
Eurocopa 2012,
A partida em Donetsk foi a
última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi a
última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
Sinceramente, não penso
em termos individuais.
Ronaldo lamentou não ter
podido fazer a sua
cobrança na disputa de
pênaltis, mas enalteceu o
trabalho da seleção
portuguesa na Eurocopa.
Sinceramente, não penso
em termos individuais.
Ronaldo lamentou não ter
podido fazer a sua
cobrança na disputa de
pênaltis, mas enalteceu o
trabalho da seleção
portuguesa na Eurocopa.
Antes de deixar a
Donbass Arena em sua
última partida na
Eurocopa 2012,
Antes de deixar a
Donbass Arena em sua
última partida na
Eurocopa 2012,
x3
x3
x3
20. CDS, 25/10/2011
HDFS: como funciona?
HDFS armazena esses blocos em datanodes
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
A partida em Donetsk foi
a última de Cristiano
Ronaldo na temporada
2011/2012. Agora, o
craque sai de férias
garantindo estar feliz com
o seu desempenho.
23. CDS, 25/10/2011
HDFS: como funciona?
Algum dia um datanode cairá… não é um problema
DN1, DN4, DN7
DN4, DN5, DN6
DN3, DN5, DN8
Namenode
X
24. CDS, 25/10/2011
HDFS: como funciona?
Namenode dirá aos DNs para copiar os blocos, voltando a 3x
DN1, DN4, DN7
DN4, DN5, DN6
DN3, DN5, DN8
Namenode
25. CDS, 25/10/2011
HDFS: como funciona?
Namenode
• Namenode é o único ponto de falha (SPOF)
• Backupnode = manual failover
• Deve-se investir pesado no hardware do Namenode
• redundância de energia
• discos em RAID
• …
Como solucionar?Como solucionar?
28. CDS, 25/10/2011
Map Reduce
Pense em termos de <chave, valor>…
<byte offset, texto>
<user, perfil do usuário>
<timestamp, access log entry>
<user, lista de amigos do usuário>
29. CDS, 25/10/2011
Map Reduce
Para escrever um programa Map-Reduce:
1. Escreva um mapeamento que, dada uma
<chave,valor>, gere zero ou mais <chaves, valores>
2. Escreva um redutor de todos os valores em uma
chave, gerando zero ou mais novas <chaves, valores>
30. CDS, 25/10/2011
Map Reduce: como funciona?
Para escrever um programa Map-Reduce:
1. Escreva um mapeamento que, dada uma
<chave,valor>, gere zero ou mais <chaves, valores>
2. Escreva um redutor de todos os valores em uma
chave, gerando zero ou mais novas <chaves, valores>
32. CDS, 25/10/2011
Map Reduce: como funciona?
<0, “Four score and five years ago our fathers brought”>
words = value.split(“ “)
for( word : words )
emit( word, 1 )
33. CDS, 25/10/2011
Tasktracker
Map Reduce: como funciona?
<0, “Four score and five years ago our fathers brought”>
words = value.split(“ “)
for( word : words )
emit( word, 1 )
Datanode
37. CDS, 25/10/2011
Map Reduce: como funciona?
<Four, 3>
<and, 5>
<fathers, 1>
<score, 1>
<is, 5 >
…
Reduz
word = key
ones = value
count = 0
for( one : ones )
count++
emit( word, count )
38. CDS, 25/10/2011
Hadoop pra quê?
Quando usar Quando não usar
Busca Poucos dados
Processamento de logs Transações complexas
Sistemas de recomendação Alta consistência
Manipulação de video e
imagem
Estatísticas, DW
Dados não estruturados
41. CDS, 25/10/2011
Discussão
Hadoop é um banco de dados?Hadoop é um banco de dados?
Não. Hadoop não é um SGBD. É um sistema para
armazenamento e processamento de grande massa de
dados.
Não. Hadoop não é um SGBD. É um sistema para
armazenamento e processamento de grande massa de
dados.
Pode ser combinado com outras ferramentas e
formar um banco de dados ou mesmo um
sistema de DW. Ex.: Hadoop + Hive, Hadoop +
HBase
Pode ser combinado com outras ferramentas e
formar um banco de dados ou mesmo um
sistema de DW. Ex.: Hadoop + Hive, Hadoop +
HBase
O que é um banco de dados? Oracle
SGBDR? Storage?
O que é um banco de dados? Oracle
SGBDR? Storage?
42. CDS, 25/10/2011
Discussão
Hadoop é um banco de dados?Hadoop é um banco de dados?
Atenção: quando utilizar um SGBDR ou Hadoop
(+ outras ferramentas)?
Atenção: quando utilizar um SGBDR ou Hadoop
(+ outras ferramentas)?
Analise seus requisitos!Analise seus requisitos!
45. CDS, 25/10/2011
Estudo de Caso: Facebook
• Logging
• Analytics e machine learning
• 2 clusters principais
• 1100 máquinas, 8800 cores, 12PB
• 300 máquinas, 2400 cores, 3PB
• cada nó possui 8 cores, com 12TB de storage
56. CDS, 25/10/2011
Cassandra: o que é?
Cassandra é um sistema distribuído de
armazenamento para GERENCIAR grande quantidade
de dados estruturados, com alta disponibilidade e
sem ponto de falha.
57. CDS, 25/10/2011
Cassandra: o que é?
Cassandra é um sistema distribuído de
armazenamento para GERENCIAR grande quantidade
de dados estruturados, com alta disponibilidade e
sem ponto de falha.
Um BANCO DE DADOS distribuído, escalável e de alta
performance.
Um BANCO DE DADOS distribuído, escalável e de alta
performance.
58. CDS, 25/10/2011
Cassandra: o que é?
Descentralizado
Tolerante a falhas
Modelo de dados <key,value>
Durável
Escalável
Criado pelo Facebook
Open source (Apache)
60. CDS, 25/10/2011
Cassandra: como funciona?
Query
Closest replica
Cassandra Cluster
Replica A
Result
Replica B Replica C
Digest Query
Digest Response Digest Response
Result
Client
Read repair if
digests differ
Read repair if
digests differ
Leitura
81. CDS, 25/10/2011
WSO2 BAM
• Utiliza SGBDR (Oracle no Coreo)
• Monitora ESB e Application Server
• Obtém dados do tipo:
• Num. de vezes que um endpoint foi executado
• Qual mensagem SOAP trafegada numa chamada de WS
• Quantas aplicações estão “deployadas” no AS
83. CDS, 25/10/2011
WSO2 BAM
• Solução corporativa
• ( - ) Pouca documentação
• ( - ) Baixo desempenho (para aplicações de Internet)
• ( + ) Interface de visualização de gadgets amigável
• ( + ) Relatórios em pdf, excel e html
84. CDS, 25/10/2011
WSO2 BAM no Coreo
AppEngine
Componentes
Aplicações,
WS externos (broker) e
Proxies, Sequences e
Endpoints internos
Oracle
85. CDS, 25/10/2011
WSO2 BAM no Coreo
Aplicações top do mês
Aplicações mais populares
Número de erros de uma aplicação
Número de execuções/erros de um componente
Alto número de
requisições pelo
Portal Coreo
Não possui
mecanismo de
cache
92. CDS, 25/10/2011
Logs, Monitoramento e
Estatísticas
SDRSDR
Estatísticas e
Monitoramento
Estatísticas e
Monitoramento
Centralização de logs do
sistema
Centralização de logs do
sistema
Registros das instâncias
de execução
Registros das instâncias
de execução
94. CDS, 25/10/2011
Futuro para o Coreo...
SDRSDR
Estatísticas e
Monitoramento
Estatísticas e
Monitoramento
Centralização de logs do
sistema
Centralização de logs do
sistema
Registros das instâncias
de execução
Registros das instâncias
de execução
??
95. CDS, 25/10/2011
Conclusão
Atenção para o que está acontecendo no mundo… :)Atenção para o que está acontecendo no mundo… :)
Analise seus requisitos. Eles determinarão a escolha da
ferramenta ideal.
Analise seus requisitos. Eles determinarão a escolha da
ferramenta ideal.