SlideShare uma empresa Scribd logo
1 de 96
CDS, 25/10/2011
Logs,
Monitoramento e
Estatísticas
Uma abordagem sobre
ferramentas
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!
CDS, 25/10/2011
Motivação
CDS, 25/10/2011
Motivação
CDS, 25/10/2011
O que é Big Data?
GrandeGrande
ComplexoComplexo
Não-estruturadoNão-estruturado
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)
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?
CDS, 25/10/2011
Outline
CDS, 25/10/2011
Hadoop: ficha técnica
2003 2004 2005 2006 2008
GFS(GoogleFile
System)
Nutch(websearchengine
–partedoLucene)-NDFS
MapReduce
NDFS
+MapReduce
Apacheproject:
HADOOP
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
CDS, 25/10/2011
Hadoop powered by
CDS, 25/10/2011
Hadoop tecnicamente...
• Java
• Open Source
• Projeto top level da Apache
• Commiters: Yahoo! e Cloudera
• Plataformas com Hadoop: MapR, Hadapt, Cloudera…
CDS, 25/10/2011
O que é Hadoop?
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
CDS, 25/10/2011
O que é Hadoop?
= +
armazenamento processamento
Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
CDS, 25/10/2011
HDFS
Hadoop
Distributed
File
System
[fabiola-laptop ~]$ hadoop dfs –mkdir /ctbc
[fabiola-laptop ~]$ hadoop dfs –copyFromLocal dados.txt /ctbc
[fabiola-laptop ~]$ hadoop dfs –ls /ctbc
Found 1 items
-rw-r—r-- 3 fabiola fabiola 88 2012-06-27 19:12 /ctbc/dados.txt
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…
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
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
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.
CDS, 25/10/2011
HDFS: como funciona?
HDFS distribui os blocos aos datanodes
CDS, 25/10/2011
HDFS: como funciona?
Namenode controla blocos e datanodes
DN1, DN4, DN7
DN4, DN5, DN6
DN3, DN5, DN8
Namenode
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
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
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?
CDS, 25/10/2011
Relembrando…
= +
armazenamento processamento
Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
CDS, 25/10/2011
Map Reduce
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>
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>
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>
CDS, 25/10/2011
Map Reduce: como funciona?
Exemplificando:
Contador de Palavras (word count)
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 )
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
CDS, 25/10/2011
Tasktracker
Map Reduce: como funciona?
Datanode
Tasktracker
Datanode
Tasktracker
Datanode
Tasktracker
Datanode
Tasktracker
Datanode
Tasktracker
Datanode
CDS, 25/10/2011
Map Reduce: como funciona?
<Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers,
><brought, 1>, <Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our,
1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago,
1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years,
1><ago, 1><our, 1><fathers, 1 ><brought, 1><Four, 1><score, 1><and, 1><five,
1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and,
1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score,
1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, 1 ><brought, 1><Four,
1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought,
1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers,
><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our,
1><fathers, 1 ><brought, 1>
CDS, 25/10/2011
Map Reduce: como funciona?
<Four, [1, 1, 1]>
<and, [1, 1, 1, 1, 1]>
<fathers, [1]>
<score, [1]>
<is, [1, 1, 1, 1 1]>
…
Embaralha
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 )
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
CDS, 25/10/2011
Resumindo
Scalability Cost-effective
Flexibility
Faul tolerant
CDS, 25/10/2011
Ecossistema Hadoop et. al.
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?
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!
CDS, 25/10/2011
Estudo de Caso
no
CDS, 25/10/2011
Estudo de Caso: Facebook
http://borthakur.com/ftp/hadoopmicrosoft.pdf
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
CDS, 25/10/2011
Estudo de Caso: Facebook
CDS, 25/10/2011
Estudo de Caso
no
CDS, 25/10/2011
Estudo de Caso: Coreo
HDFS
Web DAV
Portal WS
CDS, 25/10/2011
Estudo de Caso: Coreo
• Logging
• Apenas HDFS (por enquanto…)
• 1 cluster
• 3 máquinas
• fator de replicação 3
• backup namenode
CDS, 25/10/2011
Estudo de Caso: CDS
OSS/BSS?
DW?
OCS?
V4?
Smarts?
CDS, 25/10/2011
Big Data
CDS, 25/10/2011
Big Data
CDS, 25/10/2011
Big Data
CDS, 25/10/2011
Hadoop powered by
CDS, 25/10/2011
Outline
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.
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.
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)
CDS, 25/10/2011
Cassandra: como funciona?
Escrita
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
CDS, 25/10/2011
Cassandra: modelo de dados
CDS, 25/10/2011
Cassandra: modelo de dados
Uma única coluna
CDS, 25/10/2011
Cassandra: modelo de dados
Uma única linha
CDS, 25/10/2011
Cassandra: modelo de dados
Difícil encontrar
SW para
modelagem
CDS, 25/10/2011
Cassandra: query
no-SQL = CQL = Cassandra Query Language
API Hector
SELECT, UPDATE, DELETE, CREATE COLUMN FAMILY, …
SELECT ... WHERE KEY = keyname AND name1 = value
CDS, 25/10/2011
Cassandra: quando usar?
Big data
Muitos requests
Alta performance (memória)
Analise seu modelo de dados!
CDS, 25/10/2011
Cassandra no Coreo
AppEngine
Controle
EventHandler
Scheduler
Identity Server Componente de BD
CDS, 25/10/2011
Cassandra: discussão
X
CDS, 25/10/2011
Cassandra: discussão
+
CDS, 25/10/2011
Outline
CDS, 25/10/2011
Scribe
Servidor de agregação de streams de logs em tempo
real.
CDS, 25/10/2011
Scribe
• Criado pelo Facebook
• Escrito em C++
• ( + ) Utiliza thrift para comunicação
• ( + ) Escalável
• ( + ) Robusto
• ( + ) Integra com Hadoop
• ( - ) Pouca documentação
CDS, 25/10/2011
Scribe: como funciona?
CDS, 25/10/2011
Scribe no Coreo
Logs são divididos em categorias do tipo:
1)ESB
esb1
esb2
1)BAM
bam1
bam2
1)SCE
cocreation-sce1
cocreation-sce2
1)Portal
portal1
portal2
1)AppEngine
appEngine1
appEngine2
1)…
CDS, 25/10/2011
Scribe no Coreo
CDS, 25/10/2011
Scribe no Coreo
CDS, 25/10/2011
Logging no CDS
Syslog?
Splunk?
CDS, 25/10/2011
Outline
CDS, 25/10/2011
WSO2 BAM
Business
Activity
Monitor
CDS, 25/10/2011
WSO2 BAM
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
CDS, 25/10/2011
WSO2 BAM
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
CDS, 25/10/2011
WSO2 BAM no Coreo
AppEngine
Componentes
Aplicações,
WS externos (broker) e
Proxies, Sequences e
Endpoints internos
Oracle
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
CDS, 25/10/2011
WSO2 BAM: Futuro
Cassandra
Thrift
REST
Escalabilidade horizontal
Apache Hive
Cassandra
Google Gadgets
CDS, 25/10/2011
Outline
CDS, 25/10/2011
SDR
Service
Detail
Record
Registro da execução de um componente ou aplicaçãoRegistro da execução de um componente ou aplicação
CDS, 25/10/2011
SDR
Registro da execução de um componente ou aplicaçãoRegistro da execução de um componente ou aplicação
CDS, 25/10/2011
SDR
Kaha Persistence
Server standalone
API (cocreation-
log)
CDS, 25/10/2011
Outline
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
CDS, 25/10/2011
Outline
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
??
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.
CDS, 25/10/2011
Dúvidas??Dúvidas??

Mais conteúdo relacionado

Destaque

Segurança e Auditoria de Sistemas
Segurança e Auditoria de SistemasSegurança e Auditoria de Sistemas
Segurança e Auditoria de SistemasAllan Piter Pressi
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informaçãoSilvino Neto
 
Aula 02 - Gráficos
Aula 02 - GráficosAula 02 - Gráficos
Aula 02 - GráficosProfGeoJean
 
Missões: Estatísticas Globais 2011
Missões: Estatísticas Globais 2011Missões: Estatísticas Globais 2011
Missões: Estatísticas Globais 2011Missões Adoração
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemassorayaNadja
 
Auditoria em tecnologia da informação
Auditoria em tecnologia da informaçãoAuditoria em tecnologia da informação
Auditoria em tecnologia da informaçãoFernando Palma
 
Ferramentas de planejamento
Ferramentas de planejamentoFerramentas de planejamento
Ferramentas de planejamentoJorge Gloss
 
Aula Qualidade 3
Aula Qualidade 3Aula Qualidade 3
Aula Qualidade 3rosilane32
 
E-book free - Ferramentas Visuais para Estrategistas
E-book free - Ferramentas Visuais para EstrategistasE-book free - Ferramentas Visuais para Estrategistas
E-book free - Ferramentas Visuais para EstrategistasMarcelo Pimenta (menta90)
 
Modelo relatorio
Modelo relatorioModelo relatorio
Modelo relatoriorsaloes
 

Destaque (13)

Segurança e Auditoria de Sistemas
Segurança e Auditoria de SistemasSegurança e Auditoria de Sistemas
Segurança e Auditoria de Sistemas
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informação
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informação
 
Aula 02 - Gráficos
Aula 02 - GráficosAula 02 - Gráficos
Aula 02 - Gráficos
 
Relatório de alisângela considerações finais
Relatório de alisângela considerações finaisRelatório de alisângela considerações finais
Relatório de alisângela considerações finais
 
Missões: Estatísticas Globais 2011
Missões: Estatísticas Globais 2011Missões: Estatísticas Globais 2011
Missões: Estatísticas Globais 2011
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemas
 
Ferramentas da Qualidade
Ferramentas da QualidadeFerramentas da Qualidade
Ferramentas da Qualidade
 
Auditoria em tecnologia da informação
Auditoria em tecnologia da informaçãoAuditoria em tecnologia da informação
Auditoria em tecnologia da informação
 
Ferramentas de planejamento
Ferramentas de planejamentoFerramentas de planejamento
Ferramentas de planejamento
 
Aula Qualidade 3
Aula Qualidade 3Aula Qualidade 3
Aula Qualidade 3
 
E-book free - Ferramentas Visuais para Estrategistas
E-book free - Ferramentas Visuais para EstrategistasE-book free - Ferramentas Visuais para Estrategistas
E-book free - Ferramentas Visuais para Estrategistas
 
Modelo relatorio
Modelo relatorioModelo relatorio
Modelo relatorio
 

Mais de Fabíola Fernandes

E agora? Qual banco de dados devo usar?
E agora? Qual banco de dados devo usar?E agora? Qual banco de dados devo usar?
E agora? Qual banco de dados devo usar?Fabíola Fernandes
 
Desmistificando NoSQL e Novas Tecnologias de Bancos de Dados
Desmistificando NoSQL e Novas Tecnologias de Bancos de DadosDesmistificando NoSQL e Novas Tecnologias de Bancos de Dados
Desmistificando NoSQL e Novas Tecnologias de Bancos de DadosFabíola Fernandes
 
Bigdata e NoSQL: buzzwords da teoria à prática
Bigdata e NoSQL: buzzwords da teoria à práticaBigdata e NoSQL: buzzwords da teoria à prática
Bigdata e NoSQL: buzzwords da teoria à práticaFabíola Fernandes
 
Mineração de Dados com Apache Mahout
Mineração de Dados com Apache MahoutMineração de Dados com Apache Mahout
Mineração de Dados com Apache MahoutFabíola Fernandes
 
E agora: que tipo de Banco de Dados devo usar?
E agora: que tipo de Banco de Dados devo usar?E agora: que tipo de Banco de Dados devo usar?
E agora: que tipo de Banco de Dados devo usar?Fabíola Fernandes
 
WSO2Con - Integrating Telecom Big Data: Challenges and Lessons Learned
WSO2Con - Integrating Telecom Big Data: Challenges and Lessons LearnedWSO2Con - Integrating Telecom Big Data: Challenges and Lessons Learned
WSO2Con - Integrating Telecom Big Data: Challenges and Lessons LearnedFabíola Fernandes
 

Mais de Fabíola Fernandes (7)

E agora? Qual banco de dados devo usar?
E agora? Qual banco de dados devo usar?E agora? Qual banco de dados devo usar?
E agora? Qual banco de dados devo usar?
 
NoSQL e Novas Tecnologias
NoSQL e Novas TecnologiasNoSQL e Novas Tecnologias
NoSQL e Novas Tecnologias
 
Desmistificando NoSQL e Novas Tecnologias de Bancos de Dados
Desmistificando NoSQL e Novas Tecnologias de Bancos de DadosDesmistificando NoSQL e Novas Tecnologias de Bancos de Dados
Desmistificando NoSQL e Novas Tecnologias de Bancos de Dados
 
Bigdata e NoSQL: buzzwords da teoria à prática
Bigdata e NoSQL: buzzwords da teoria à práticaBigdata e NoSQL: buzzwords da teoria à prática
Bigdata e NoSQL: buzzwords da teoria à prática
 
Mineração de Dados com Apache Mahout
Mineração de Dados com Apache MahoutMineração de Dados com Apache Mahout
Mineração de Dados com Apache Mahout
 
E agora: que tipo de Banco de Dados devo usar?
E agora: que tipo de Banco de Dados devo usar?E agora: que tipo de Banco de Dados devo usar?
E agora: que tipo de Banco de Dados devo usar?
 
WSO2Con - Integrating Telecom Big Data: Challenges and Lessons Learned
WSO2Con - Integrating Telecom Big Data: Challenges and Lessons LearnedWSO2Con - Integrating Telecom Big Data: Challenges and Lessons Learned
WSO2Con - Integrating Telecom Big Data: Challenges and Lessons Learned
 

Ferramentas para Logs, Monitoramento e Estatísticas com Hadoop

  • 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?
  • 9. CDS, 25/10/2011 Hadoop: ficha técnica 2003 2004 2005 2006 2008 GFS(GoogleFile System) Nutch(websearchengine –partedoLucene)-NDFS MapReduce NDFS +MapReduce Apacheproject: HADOOP
  • 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…
  • 13. CDS, 25/10/2011 O que é Hadoop?
  • 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
  • 16. CDS, 25/10/2011 HDFS Hadoop Distributed File System [fabiola-laptop ~]$ hadoop dfs –mkdir /ctbc [fabiola-laptop ~]$ hadoop dfs –copyFromLocal dados.txt /ctbc [fabiola-laptop ~]$ hadoop dfs –ls /ctbc Found 1 items -rw-r—r-- 3 fabiola fabiola 88 2012-06-27 19:12 /ctbc/dados.txt
  • 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.
  • 21. CDS, 25/10/2011 HDFS: como funciona? HDFS distribui os blocos aos datanodes
  • 22. CDS, 25/10/2011 HDFS: como funciona? Namenode controla blocos e datanodes DN1, DN4, DN7 DN4, DN5, DN6 DN3, DN5, DN8 Namenode
  • 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?
  • 26. CDS, 25/10/2011 Relembrando… = + armazenamento processamento Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
  • 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>
  • 31. CDS, 25/10/2011 Map Reduce: como funciona? Exemplificando: Contador de Palavras (word count)
  • 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
  • 34. CDS, 25/10/2011 Tasktracker Map Reduce: como funciona? Datanode Tasktracker Datanode Tasktracker Datanode Tasktracker Datanode Tasktracker Datanode Tasktracker Datanode
  • 35. CDS, 25/10/2011 Map Reduce: como funciona? <Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1>, <Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, 1 ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, 1 ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, 1 ><brought, 1>
  • 36. CDS, 25/10/2011 Map Reduce: como funciona? <Four, [1, 1, 1]> <and, [1, 1, 1, 1, 1]> <fathers, [1]> <score, [1]> <is, [1, 1, 1, 1 1]> … Embaralha
  • 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!
  • 44. CDS, 25/10/2011 Estudo de Caso: Facebook http://borthakur.com/ftp/hadoopmicrosoft.pdf
  • 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
  • 46. CDS, 25/10/2011 Estudo de Caso: Facebook
  • 48. CDS, 25/10/2011 Estudo de Caso: Coreo HDFS Web DAV Portal WS
  • 49. CDS, 25/10/2011 Estudo de Caso: Coreo • Logging • Apenas HDFS (por enquanto…) • 1 cluster • 3 máquinas • fator de replicação 3 • backup namenode
  • 50. CDS, 25/10/2011 Estudo de Caso: CDS OSS/BSS? DW? OCS? V4? Smarts?
  • 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)
  • 59. CDS, 25/10/2011 Cassandra: como funciona? Escrita
  • 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
  • 62. CDS, 25/10/2011 Cassandra: modelo de dados Uma única coluna
  • 63. CDS, 25/10/2011 Cassandra: modelo de dados Uma única linha
  • 64. CDS, 25/10/2011 Cassandra: modelo de dados Difícil encontrar SW para modelagem
  • 65. CDS, 25/10/2011 Cassandra: query no-SQL = CQL = Cassandra Query Language API Hector SELECT, UPDATE, DELETE, CREATE COLUMN FAMILY, … SELECT ... WHERE KEY = keyname AND name1 = value
  • 66. CDS, 25/10/2011 Cassandra: quando usar? Big data Muitos requests Alta performance (memória) Analise seu modelo de dados!
  • 67. CDS, 25/10/2011 Cassandra no Coreo AppEngine Controle EventHandler Scheduler Identity Server Componente de BD
  • 71. CDS, 25/10/2011 Scribe Servidor de agregação de streams de logs em tempo real.
  • 72. CDS, 25/10/2011 Scribe • Criado pelo Facebook • Escrito em C++ • ( + ) Utiliza thrift para comunicação • ( + ) Escalável • ( + ) Robusto • ( + ) Integra com Hadoop • ( - ) Pouca documentação
  • 74. CDS, 25/10/2011 Scribe no Coreo Logs são divididos em categorias do tipo: 1)ESB esb1 esb2 1)BAM bam1 bam2 1)SCE cocreation-sce1 cocreation-sce2 1)Portal portal1 portal2 1)AppEngine appEngine1 appEngine2 1)…
  • 77. CDS, 25/10/2011 Logging no CDS Syslog? Splunk?
  • 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
  • 86. CDS, 25/10/2011 WSO2 BAM: Futuro Cassandra Thrift REST Escalabilidade horizontal Apache Hive Cassandra Google Gadgets
  • 88. CDS, 25/10/2011 SDR Service Detail Record Registro da execução de um componente ou aplicaçãoRegistro da execução de um componente ou aplicação
  • 89. CDS, 25/10/2011 SDR Registro da execução de um componente ou aplicaçãoRegistro da execução de um componente ou aplicação
  • 90. CDS, 25/10/2011 SDR Kaha Persistence Server standalone API (cocreation- log)
  • 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.