Processamento de Dados em Memória usando Elastic Data Grid (In-Memory Computing)
1. 1 Oracle Corporation Encontro SouJava de 2013 na Oracle SP
2. Processamento de Dados em
Memória usando Elastic Data
Grid (In-Memory Computing)
Ricardo S. Ferreira
Java, FMW & Engineered Systems Expert
ricardo.s.ferreira@oracle.com
3. Agenda
Overview sobre Tecnologias de Elastic Data Grid
Demo 1: Overview sobre a API do Oracle Coherence
Demo 2: Usando recursos de Queries e Analytics
Demo 3: Real-time Events & Queries Contínuas
Demo 4: MapReduce e Agregações Paralelas
3 Oracle Corporation Encontro SouJava de 2013 na Oracle SP
4. Agenda (Continuação)
Demo 5: API Cliente do Coherence para .NET & C++
Demo 6: API Cliente do Coherence para REST/JSON
Demo 7: Integração do Coherence com Java EE 6
Demo 8: Terabytes em Memória usando Elastic Data
Demo 9: Off-loading da Sessão HTTP do AppServer
4 Oracle Corporation Encontro SouJava de 2013 na Oracle SP
5. O que é um Elastic Data Grid?
Princípios Arquiteturais para este Tipo de Tecnologia
Grandes volumes de dados
em múltiplos processos Application Server Application Server
Processos (JVMs) podem ser Elastic Data Grid
Elastic Data Grid
adicionados ou retirados sob JVM JVM JVM
demanda (Escala Elástica) Operating System Operating System Operating System
A ausência de overhead de
I/O possibilita o acesso em
tempo real aos dados
Possibilidade de execução
distribuída de tarefas no grid
5 Oracle Corporation Encontro SouJava de 2013 na Oracle SP
6. Elastic Data Grid: Fazer Mais com Menos!
Investir mais nos recursos que são abundantes
Aplicativos & Aplicativos &
Middleware Middleware
Escale, Aumente Performance & Coherence
Melhore a Confiabilidade com
Elastic Data Grid Peer 2 Peer
Aplicações mais Escaláveis
– Reduzir a carga dos backends (Mainframes, B.D) usando cache em memória
Aplicações mais Performáticas
– Acesso instantâneo aos dados: sem overhead de I/O, dados sempre na RAM
Aplicações mais Confiáveis
– Elastic Data Grid provê maior disponibilidade dos dados para as aplicações
6 Oracle Corporation Encontro SouJava de 2013 na Oracle SP
7. Elastic Data Grids na Plataforma Java
JSR 107 & JSR 347: Padronizando o que é provado que funciona!
JSR 107: Java Temporary Caching API
– Cache simples bem como operações padrões e o controle (do cache)
– Padrão antigo mas que ficou muito tempo “deixado de lado”
– Várias implementações no mercado: Coherence, GemFire, Terracotta, InfiniSpan
JSR 347: Data Grid for the Java Platform
– Foco principal em caches distribuídos. Diversos uso e aplicações
– Padrões de replicação, distribuição e compartilhamento de objetos
– Padronização dos mecanismos de serialização. Várias linguagens
– Unificação de sessões HTTP dos Application Servers. Cache L2 para JPA
7 Oracle Corporation Encontro SouJava de 2013 na Oracle SP
8. Oracle Coherence (Elastic Data Grid)
#1 Solução de In-Memory Computing do Mundo
Oracle
adquire Incorporação no fusion middleware, fundação para os
Tangosol aplicativos e soluções da Oracle, incluindo o Exalogic
2000 2001 ….. 2007 2008 2009 2010 2011
Tangosol é Coherence Cool Vendor Coherence Coherence Coherence Coherence
fundada e 1.0 Award 3.5 3.6 3.7 3.7.1.1
se torna a
pioneira em
In-Memory Aumento do market share e das features de In-Memory Data Grid. Adoção
Computing em larga escala por várias indústrias, tais como: bancos, e-commerce,
viagens & turismo, seguradoras, games, telecomunicações…
8 Oracle Corporation Encontro SouJava de 2013 na Oracle SP
9. Oracle Coherence (Elastic Data Grid)
Criado para Garantir Nenhum SPOB ou SPOF
• Cluster de nós armazenam parte dos dados primários localmente
• Backup dos dados primários é distribuído entre os demais nós
• Visão lógica de todos os dados a partir de qualquer nó do cluster
• Todos os nós verificam a saúde dos outros nós
? • No caso de falha em um dos nós, os demais nós
diagnosticam a falha e tomam ações
X
• O nó defeituoso é então isolado do cluster
• Os dados primários e os de backup do nó
defeituoso é transferido para os demais nós
9 Oracle Corporation Encontro SouJava de 2013 na Oracle SP