Mais conteúdo relacionado Semelhante a Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast Data & CEP (20) Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast Data & CEP1. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 121
2. Transformando Grandes
Volumes de Dados em
Insight em Tempo Real
usando Fast Data & CEPusando Fast Data & CEP
Ricardo Ferreira
Java, FMW & Engineered Systems Expert
ricardo.s.ferreira@oracle.com
3. Big Data Analysis
versus Fast Data
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 123
4. A Era da Informação: Big Data e os “4 V’s”
SOCIAL
BLOG
101100101001
001001101010
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 124
Volume Velocidade Variedade Valor
SMART
METER
001001101010
101011100101
010100100101
6. … mas agora isso já é problema das
corporações também
… but
enterprises are
also facing it
now
6
Empresas implantando sensores inteligentes?
200x mais informação indo aos data centers!
Fonte: http://www.oracle.com/us/corporate/press/1704764
7. Storage is the first obvious
problem.
Analysis is next.
Storage é o primeiro dos problemas.
Análise é sem dúvida o segundo.
“Big Data Is Not About the
Created Content, nor Is It
Even Its Consumption
— It Is the Analysis of All
the Data Surrounding or
7
Swirling Around It“
IDC’s Digital Universe
Study, June 2011
8. 1. Big Data ≠ Storage Infinito
Sim, storage é barato mas você precisa
filtrar os dados e eliminar as redundâncias
2. Apache Hadoop é orientado a batch, e
Implementando Big Data: Alguns dos Desafios
Big Data resolve realmente tudo?
8
2. Apache Hadoop é orientado a batch, e
existe nele uma grande latência inerente
"With the paths that go through Hadoop [at
Yahoo!], the latency is about fifteen minutes
[…] it will never be true real-time. " *
Raymie Stata, Yahoo! CTO
(June 2011)
*: http://www.theregister.co.uk/2011/06/30/yahoo_hadoop_and_realtime/
mins, hrs
9. Diferenciando-se em Big Data: Fast Data!
Filtragem,
correlação
1. Filtragem de Dados & Correlação
Elimine os “ruídos” tais como leituras de ticks
sem alteração de dados. Crie contextos para
os dados correlacionando múltiplas fontes de
Aplicando Event Processing, CEP
9
os dados correlacionando múltiplas fontes de
dados simultâneamente.
2. Identifique situações críticas do negócio
(oportunidades ou ameaças) a medida
que os dados são inseridos no HDFS
Mova a parte de análise que é crítica e
sensível a tempo para o inicio do processo
10. Fast Data versus Big Data
Principais cenários e casos de utilização
Big Data
mins, hrsµs, ms
Fast Data
:deep
Historicaldepth:
shallow
Exemplo:
Análise de padrões
de tráfego e dos
congestionamentos
para planejamento
urbano de cidades.
10
Historicaldepth:deep
Historicaldepth
shallow
Exemplo:
Monitoração de
câmeras de tráfego
para garantir que a
mesma placa não
esteja sendo usada
em dois veículos.
Adicione mais “profundidade” ao seu Fast Data
mesclando eventos com as saídas do Map/Reduce
12. KPIs Inteligentes usando Fast Data
• Crie quantos tweets puder
sobre um determinado:
– Produto
– Atendimento
Cenário usando CEP, In-Memory Data Grid & BAM
12
– Atendimento
– Serviço
• Cite adjetivos como “bom”,
“ruim”, “fraco”, “lento” etc
• Cite o usuário @oraclefmwapps
13. KPIs Inteligentes usando Fast Data
• Crie quantos tweets puder
sobre um determinado:
– Produto
– Atendimento
Cenário usando CEP, In-Memory Data Grid & BAM
Hoje foi um dia daqueles. Tive um péssimo
atendimento na empresa XPTO, além de
13 | © 2012 Oracle Corporation | The Developers Conference 2012
– Atendimento
– Serviço
• Cite adjetivos como “bom”,
“ruim”, “fraco”, “lento” etc
• Cite o usuário @oraclefmwapps
atendimento na empresa XPTO, além de
perder minha carteira @oraclefmwapps
14. Monitor do Negócio
Processamento das Transações
Visão Lógica da Arquitetura da Solução
Oracle Coherence
4 JVMs em Grid
Oracle CEP
2 JVMs em Cluster
Injetor de Transações
(Simulador de Eventos)
Rede Ethernet
10 GB/s (TCP)
14 | © 2012 Oracle Corporation | The Developers Conference 2012
Oracle Coherence
Oracle Coherence
4 JVMs em Grid
Oracle CEP
Oracle CEP
2 JVMs em Cluster
WebLogic Cluster
Managed Server 1
(JMS Topics)
Managed Server 2
(JMS Topics)
Rede Ethernet
10 GB/s (TCMP)
Rede Ethernet
10 GB/s (TCP)
10 GB/s (TCP)
15. Event Processing,
CEP & Fast Data
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1215
16. Processamento de Dados Tradicional
Queries
16 | © 2013 Oracle Corporation | The Developers Conference 2013
Legenda
Dados estruturados que foram
capturados e salvos no SGBD
Consultas criadas para extrair
informações úteis ao negócio
17. Processamento de Dados Tradicional
• Pergunta: “Quantos carros vermelhos existem neste
momento no estacionamento do hotel Oceania?”
Respondendo como um banco de dados relacional:
• Caminhar até o estacionamento
• Contar todos os veículos que são:
17 | © 2013 Oracle Corporation | The Developers Conference 2013
– Vermelhos
– Carros
18. Processamento de Dados Tradicional
• Pergunta: “Quantos carros vermelhos existem neste
momento no estacionamento do hotel Oceania?”
Respondendo como um banco de dados relacional:
• Caminhar até o estacionamento
• Contar todos os veículos que são:SELECT COUNT(*) FROM Estacionamento
18 | © 2013 Oracle Corporation | The Developers Conference 2013
– Vermelhos
– Carros
SELECT COUNT(*) FROM Estacionamento
WHERE (tipo = ‘Carro’) AND (cor = ‘Vermelho’)
19. Processamento de Dados Tradicional
• Pergunta: “Quantos carros vermelhos pegaram a rua do
Marisco na última hora para chegar ao TDC 2013?”
Respondendo como um banco de dados relacional:
• Encoste cada veículo que passar
• Mantenha-os lá até o final da hora
19 | © 2013 Oracle Corporation | The Developers Conference 2013
• Ao final da hora, conte os veículos
• Atualize a contagem pro usuário
• Libere os motoristas encostados
20. Processamento de Dados Tradicional
• Pergunta: “Quantos carros vermelhos pegaram a rua do
Marisco na última hora para chegar ao TDC 2013?”
Respondendo como um banco de dados relacional:
• Encoste cada veículo que passar
• Mantenha-os lá até o final da horaObviamente... não é uma solução muito
20 | © 2013 Oracle Corporation | The Developers Conference 2013
• Ao final da hora, conte os veículos
• Atualize a contagem pro usuário
• Libere os motoristas encostados
Obviamente... não é uma solução muito
interessante para nenhum dos motoristas
21. Processamento Contínuo de Eventos
• Pergunta: “Quantos carros vermelhos pegaram a rua do
Marisco na última hora para chegar ao TDC 2013?”
Como uma máquina de processamento de eventos responderia:
• Capture cada veículo que passar
• Filtre os eventos de veículos por:
21 | © 2013 Oracle Corporation | The Developers Conference 2013
– Tempo: somente a última hora
– Tipo: somente o que for carro
– Cor: somente os vermelhos
• Atualize a contagem pro usuário
toda vez que o filtro retornar algo
22. Processamento Contínuo de Eventos
• Pergunta: “Quantos carros vermelhos pegaram a rua do
Marisco na última hora para chegar ao TDC 2013?”
Como uma máquina de processamento de eventos responderia:
• Capture cada veículo que passar
• Filtre os eventos de veículos por:
Processamento de eventos é a técnica de
analisar grandes volumes de dados para
22 | © 2013 Oracle Corporation | The Developers Conference 2013
– Tempo: somente a última hora
– Tipo: somente o que for carro
– Cor: somente os vermelhos
• Atualize a contagem pro usuário
toda vez que o filtro retornar algo
analisar grandes volumes de dados para
detectar situações críticas e estratégicas
23. Processamento Contínuo de Dados
Dados Estruturados
Dados Não-Estruturados
23 | © 2013 Oracle Corporation | The Developers Conference 2013
Legenda
Dados estruturados que foram
capturados e salvos no SGBD
Consultas criadas para extrair
informações úteis ao negócio
24. Tipos de Processamento de Dados em CEP
• Time-Window
– Filtros criados a partir de
um intervalo temporal
– Assume que cada evento
possui uma propriedade
Estruturas que possibilitam o uso de agentes inteligentes
Time-Window
24 | © 2013 Oracle Corporation | The Developers Conference 2013
possui uma propriedade
de timestamp que revela
a sua idade para o motor
– Em CEP, os timestamps
devem ter uma precisão
de microssegundos (µs)
Exemplo:
SELECT * FROM event-channel
[RANGE 5 MINUTES SLIDE 5
SECONDS]
25. Tipos de Processamento de Dados em CEP
• Agregações
– Agrupamento de múltiplos
eventos a partir de uma
determinada propriedade
– Usado para implementar
Estruturas que possibilitam o uso de agentes inteligentes
Agregação
25 | © 2013 Oracle Corporation | The Developers Conference 2013
– Usado para implementar
funções como MAX, SUM,
AVG, MIN, COUNT e VAR
– Os eventos que estiverem
chegando nos canais irão
porventura ser utilizados
Exemplo:
SELECT nome, SUM(valorTotal)
FROM event-channel [NOW]
GROUP BY nome
26. Tipos de Processamento de Dados em CEP
• Relacionamentos
– Usados para representar
alguma casualidade do
tipo: “O evento B ocorreu
em virtude do evento A”
Estruturas que possibilitam o uso de agentes inteligentes
Relacionamentos
26 | © 2013 Oracle Corporation | The Developers Conference 2013
em virtude do evento A”
– Tal como as agregações,
a medida que os novos
eventos são recebidos, os
relacionamentos criados
são recalculados na hora
Exemplo:
SELECT * FROM event-channel
MATCH_RECOGNIZE (partition
by A measures B, C) PATTERN
(A B*) DEFINE A.value > B.value
27. Monitoração do Processamento Contínuo
• Monitore processos de negócio
e transações em tempo real
– Key Performance Indicator (KPI)
– Service-Level Agreement (SLA)
Análise de informações contextuais usando relatórios
27 | © 2013 Oracle Corporation | The Developers Conference 2013
– Service-Level Agreement (SLA)
• Analise múltiplos eventos à
medida em que eles ocorrerem
• Execute uma ação apropriada
– BPM, BPEL, SOAP, E-mail, SMS
28. HPC na Prática
usando SDP
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1228
29. High Performance Computing na Prática
De onde veio o Sockets Direct Protocol?
“The
Network
Is the
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29
Is the
Computer”
Scott McNealy
Sun Microsystems, 1998
30. Buffer de AplicaçãoBuffer de Aplicação
I/O em Hardware Padrão
High Performance Computing na Prática
Removendo I/O de rede usando InfiniBand & SDP
Aplicação Aplicação
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30
TCP IP TransportTransporte TCP/IP
Kernel
40% de Cópia de Buffers
20% Processando TCP/IP
10% Context Swtiching
31. Buffer de AplicaçãoBuffer de Aplicação
I/O em Hardware Padrão
High Performance Computing na Prática
Removendo I/O de rede usando InfiniBand & SDP
Exabus
Aplicação Aplicação
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31
TCP IP TransportTransporte TCP/IP
Kernel
40% de Cópia de Buffers
20% Processando TCP/IP
10% Context Swtiching
Zero Cópia de Buffers
Direct Memory Access
Bypass do Kernel
THROUGHPUT
4X BAIXA LATÊNCIA
6X
32. Serviço de Rede
do Data Center
(10Gb Ethernet)
10 GbE
Gateways
NM2-GW
X4170M2
Compute Nodes
Exalogic
Elastic Cloud
(Visão Interna)
• 2 Intel Xeon 3.06 GHz
• 8 Cores p/ Socket
• 2 Threads p/ Core
“The Network is
the Computer”
Scott Mcnealy
ex-CEO da Sun
Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
(10Gb Ethernet)
Rede
Infiniband
(40 GB/S QDR)
Rede de Gerenciamento (1GbE)
Rede de Mgmt.
Data Center
(1Gb Ethernet)
1 GbE
NM2-GW
10GbE/IB
Switch Cisco
ZFS Storage
7320
• 2 Threads p/ Core
• 256 GB de DRAM
• SAS SSD de 200 GB
• Storage de 60 TB
• 4 TB Cache de Leitura
• 292GB Cache de Escrita
• Clustering via ZFS
33. bind 192.168.0.16 *
connect 192.168.0.12 8001
connect 192.168.0.14 1521
sdp.conf
Suporte à SDP no JDK 1.7
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1233
connect 192.168.0.14 1521
java -Dcom.sun.sdp.conf=sdp.conf
-Djava.net.preferIPv4Stack=true com.tdc.core.Application
34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1234
35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1235