gemfire data fabric: extrema performance e throughput transacional com alta disponibilidade

74
© 2009 VMware Inc. All rights reserved GemFire Enterprise Data Fabric Alta Disponibilidade de dados com extrema performance e confiabilidade Frederico Melo [email protected] Cloud Application Platform Specialist LATAM Outubro 2011 quinta-feira, 27 de outubro de 11

Upload: frederico-melo

Post on 26-Jan-2015

107 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

© 2009 VMware Inc. All rights reserved

GemFire Enterprise Data Fabric Alta Disponibilidade de dados com extrema performance e confiabilidade

Frederico [email protected] Application Platform Specialist LATAMOutubro 2011

quinta-feira, 27 de outubro de 11

Page 2: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

27

Alta disponibilidade no banco de dados

provida por Storage

compartlilhado

Aumento na demanda de acesso

a dados (leitura e escrita)

Aumento no número de requisições ao cluster

de banco de dados

Típico deployment para aplicações corporativas em ambiente HAAumento expressivo no

número de nós na camada de aplicação exige que a camada de acesso a dados escale na mesma proporção.

As limitações dos RDBMSs tradicionais...

quinta-feira, 27 de outubro de 11

Page 3: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Add/remove web servers

Web Tier

Application Tier

Database Tier

Storage Tier

Load Balancer

Add/remove application servers

Stateless

Stateful

Add/reconfigure storage

Move to bigger machine

Escalando com infra-estrutura elástica

quinta-feira, 27 de outubro de 11

Page 4: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Database Tier

Storage Tier

Load Balancer

Add/remove web servers

Add/remove application servers

Stateless

Stateful

Add/reconfigure storage

Move to bigger machine

Escalando com infra-estrutura elástica

quinta-feira, 27 de outubro de 11

Page 5: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Database Tier

Storage Tier

Load Balancer

Stateless

Stateful

Add/reconfigure storage

Move to bigger machine

Escalando com infra-estrutura elástica

quinta-feira, 27 de outubro de 11

Page 6: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Add/remove web/application servers

Web Tier

Application Tier

Database Tier

Storage Tier

Load Balancer

Add/reconfigure storage

Move to bigger machine

As camadas Web de de Aplicação podem ser facilmente separadas e consolidadas. Servidores podem ser adicionados ou removidos segundo demanda - on the fly.

A base de dados somente “cresce” movendo a máquina (física ou virtual) para um servidor com maior capacidade

Os discos podem ser virtualizados e crescer sobre demanda

Como escalar horizontalmente de

forma linear???

Escalando com infra-estrutura elástica

quinta-feira, 27 de outubro de 11

Page 7: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

6

Porém...

... I/O se torna o gargalo

quinta-feira, 27 de outubro de 11

Page 8: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

77

Alterações de dados demandam

necessariamente acesso síncrono ao

armazenamento rígido e locking distribuído

~ 3.000.000 x mais lento!!!

Porém...

... I/O se torna o gargalo

Bancos de Dados podem até fazer caching de dados

para leitura, mas...

quinta-feira, 27 de outubro de 11

Page 9: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

8

Site principal Site backup

replicação de storage

Replicação entre data centers

Geo-replicação

Replicação de banco (Data Guard)

quinta-feira, 27 de outubro de 11

Page 10: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

9

Sua aplicação está preparada para ambiente Cloud?

The big glaring hole [with cloud] is data handling.

-Adrian Kunzle, MDHead of Engineering & Architecture, JPMorgan Chase

“ ”

File Systems Databases Other Systems

quinta-feira, 27 de outubro de 11

Page 11: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Database Tier

Storage Tier

Load Balancer

Virtualizando também dados

quinta-feira, 27 de outubro de 11

Page 12: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Database Tier

Storage Tier

Load Balancer

Virtualizando também dados

quinta-feira, 27 de outubro de 11

Page 13: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Database Tier

Storage Tier

Load Balancer

Virtualizando também dados

quinta-feira, 27 de outubro de 11

Page 14: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Load Balancer

Database Tier

Storage Tier

Movendo dados para o Data Fabric

quinta-feira, 27 de outubro de 11

Page 15: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Load Balancer

Storage Tier

Movendo dados para o Data Fabric

quinta-feira, 27 de outubro de 11

Page 16: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Load Balancer Add/remove web/application/data servers

Add/remove storage

Storage Tier

Disks may be direct or network attached

Movendo dados para o Data Fabric

quinta-feira, 27 de outubro de 11

Page 17: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Web Tier

Application Tier

Load Balancer Add/remove web/application/data servers

Add/remove storage

Storage Tier

Disks may be direct or network attached

Optional reliable, asynchronous feed to Data Warehouse or Archival

Database

Movendo dados para o Data Fabric

quinta-feira, 27 de outubro de 11

Page 18: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

In-Memory Distributed Fabric

DataDataData

Particionamento, distribuição e replicação

de dados em memória

Dados em memoria podem ser assincronamente persistidos /

lidos de armazenamento persistente

Clustered Application

– Suporte para múltiplas linguagens / plataformas (Java, .NET, C, C++)– Segurança de base de dados integrada– Pode trabalhar desde como um simples cache distribuído (integrado ao

Hibernate e.g.) até completo Data Fabric.– Execução de requisições distribuídas (Function Execution Framework)– Map-Reduce– Partitioned in-memory caching – Replicação para distribuição geográfica / WAN

Movendo dados para o Data Fabric

quinta-feira, 27 de outubro de 11

Page 19: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

In-Memory Distributed Fabric

DataDataData

Particionamento, distribuição e replicação

de dados em memória

Dados em memoria podem ser assincronamente persistidos /

lidos de armazenamento persistente

Clustered Application

– Suporte para múltiplas linguagens / plataformas (Java, .NET, C, C++)– Segurança de base de dados integrada– Pode trabalhar desde como um simples cache distribuído (integrado ao

Hibernate e.g.) até completo Data Fabric.– Execução de requisições distribuídas (Function Execution Framework)– Map-Reduce– Partitioned in-memory caching – Replicação para distribuição geográfica / WAN

Movendo dados para o Data Fabric

quinta-feira, 27 de outubro de 11

Page 20: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

13

Servidor 1

OLAP DB

Transações OLTP em memória

Escrita síncrona ou assíncrona em disco (DB

OLAP)

LOCATOR

Servidor 2 Servidor 3 Servidor 4 Servidor 5

Nó principal da área de memória

HA, particionamento e replicação de dados

Overflow automático para disco caso

necessário

quinta-feira, 27 de outubro de 11

Page 21: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

13

Servidor 1

OLAP DB

Transações OLTP em memória

Escrita síncrona ou assíncrona em disco (DB

OLAP)

LOCATOR

Servidor 2 Servidor 3 Servidor 4 Servidor 5

Nó principal da área de memória

HA, particionamento e replicação de dados

Overflow automático para disco caso

necessário

quinta-feira, 27 de outubro de 11

Page 22: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

14

Atingindo escalabilidade e elasticidade extremas

Os dados de aplicações

“vivem” aqui

File Systems Databases Mainframes / outros

Os dados de aplicação

“dormem” aqui

Principais Casos de Uso§ Web Session Cache, L2 Cache• Gestão de objetos stateful em ambiente

distribuído

§ App Data Cache, In-memory DB • Banco de dados OLTP baseado em

objetos de extrema alta performance

§ Grid Data Fabric: Client Compute• Data grid compartilhado acessado por

clientes executando lógica de aplicação

§ Grid Data Fabric: Fabric Compute• Data grid compartilhado onde a lógica de

aplicação é distribuída na núvem e executada no próprio grid

quinta-feira, 27 de outubro de 11

Page 23: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

quinta-feira, 27 de outubro de 11

Page 24: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Suporte para múltiplas linguagens / plataformas

simultaneamente

quinta-feira, 27 de outubro de 11

Page 25: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Suporte para múltiplas linguagens / plataformas

simultaneamente

Suporte a versionamento de objetos

quinta-feira, 27 de outubro de 11

Page 26: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Escrita síncrona ou assíncrona para banco de

dados

Suporte para múltiplas linguagens / plataformas

simultaneamente

Suporte a versionamento de objetos

quinta-feira, 27 de outubro de 11

Page 27: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Escrita síncrona ou assíncrona para banco de

dados

Suporte para múltiplas linguagens / plataformas

simultaneamente

Suporte a versionamento de objetos

Cache Loader

quinta-feira, 27 de outubro de 11

Page 28: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Escrita síncrona ou assíncrona para banco de

dados

Suporte para múltiplas linguagens / plataformas

simultaneamente

Queries Contínuas

Suporte a versionamento de objetos

Cache Loader

quinta-feira, 27 de outubro de 11

Page 29: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Escrita síncrona ou assíncrona para banco de

dados

Suporte para múltiplas linguagens / plataformas

simultaneamente

Queries Contínuas

Suporte a versionamento de objetos

Cache Loader

quinta-feira, 27 de outubro de 11

Page 30: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Escrita síncrona ou assíncrona para banco de

dados

Suporte para múltiplas linguagens / plataformas

simultaneamente

Queries Contínuas

Execução distribuída de funções e map-reduce

Suporte a versionamento de objetos

Cache Loader

quinta-feira, 27 de outubro de 11

Page 31: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Escrita síncrona ou assíncrona para banco de

dados

Suporte para múltiplas linguagens / plataformas

simultaneamente

Queries Contínuas

Execução distribuída de funções e map-reduce

Suporte a versionamento de objetos

Cache Loader

quinta-feira, 27 de outubro de 11

Page 32: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Como GemFire se compara aos concorrentes?

Servidor 1 Servidor 2 Servidor 3 Servidor 4 Servidor 5

Escrita síncrona ou assíncrona para banco de

dados

Replicação em WAN

Suporte para múltiplas linguagens / plataformas

simultaneamente

Queries Contínuas

Execução distribuída de funções e map-reduce

Suporte a versionamento de objetos

Cache Loader

quinta-feira, 27 de outubro de 11

Page 33: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Performance baseada em acesso a memória

PerformGemFire usa memória em cluster de máquinas para transacionar atualizações de dados, permitindo atualizações 10x a 200x mais rápidas que atualizações serializadas em disco (BD tradicional), sem qualquer risco adicional de perda de dados. Tempos típicos de latência são de geralmente de ~100-400 microsegundos, ao invés de ~5-200 milisegundos.

GemFire pode ainda opcionalmente escrever em disco / banco de dados tradicional de modo síncrono ou assíncrono.Essa funcionalidade é geralmente utilizada para manter registro das transações e dados para OLAP.

quinta-feira, 27 de outubro de 11

Page 34: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Distribuição de Dados

Distribute

GemFire pode manter clusters locais e geograficamente distribuídos sincronizados em tempo real e operar de forma confiável em ambientes fracamente conectados, intermitentes e com banda de rede limitada.

quinta-feira, 27 de outubro de 11

Page 35: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Arquitetura Orientada a Eventos distribuídos

Notificação com entrega garantida de eventos de atualização de dados ocorridos em qualquer dos nós.

Queries Contínuas - migração do modelo polling para orientação a eventos.

Notify

quinta-feira, 27 de outubro de 11

Page 36: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Consultas Paralelas

Controlador batch ou aplicação cliente

Scatter-Gather (Map-Reduce) Queries

Compute

quinta-feira, 27 de outubro de 11

Page 37: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Consultas Paralelas

Controlador batch ou aplicação cliente

Scatter-Gather (Map-Reduce) Queries

Compute

quinta-feira, 27 de outubro de 11

Page 38: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Roteamento inteligente de funções de dados

Execute

Movendo a funcionalidade para os dados corretos ao invés de mover os dados para a funcionalidade

Batch Controller or Client

Data Aware Function

quinta-feira, 27 de outubro de 11

Page 39: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Cloud Ready

Adicione ou remova nós Web, de Aplicação ou de gestão de

dados sob demanda on-the-fly

Web Tier

Application Tier

Load Balancer

Gravação síncrona ou assíncrona opcional para armazenamento

persistente

Discos para overflow (swap) se necessário

Adicione e remova armazenamento persistente segundo demanda on-the-fly.

Pronto para o deployment em ambiente de Cloud - escalável verticalmente e horizontalmente.

quinta-feira, 27 de outubro de 11

Page 40: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

22

• Semântica de Banco de Dados OO– OQL (Object Query Language)

SELECT * FROM /root/trades t WHERE t.price < 100

– Continuous Queries

– Indexes

– Transactions– Local– Distributed– Co-located

Escalabilidade Linear

quinta-feira, 27 de outubro de 11

Page 41: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

23

SQLFire: GemFire em paradigma relacional / SQL

quinta-feira, 27 de outubro de 11

Page 42: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

24

SQLFire

Mesmos benefícios do GemFire com paradigma relacional e interface SQL

Se comporta como um banco de dados SQL padrão, porém se utiliza do GemFire para replicar, particionar e distribuir dados na núvem.

quinta-feira, 27 de outubro de 11

Page 43: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

25

Criação de tabelas

Criação de tabela tradicional

Criação de tabela replicada

quinta-feira, 27 de outubro de 11

Page 44: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

26

Particionamento e Redundância

Criação de tabela particionada

Criação de tabela particionada e redundante

quinta-feira, 27 de outubro de 11

Page 45: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

27

Particionamento e Redundância

Afinal de contas, por quê particionar dados?

quinta-feira, 27 de outubro de 11

Page 46: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

28

Co-locação com dados relacionados

Indica ao SQLFire/GemFire armazenar dados relacionados nos mesmos servidores, de modo a obter máxima performance em consultas relacionadas (joins)

quinta-feira, 27 de outubro de 11

Page 47: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

29

Persistência (síncrona ou assíncrona)

Indica ao SQLFire/GemFire persistir os dados em armazenamento persistente de modo síncrono ou assíncrono - para redundância adicional ou para alimentar reports / base

OLAP.

quinta-feira, 27 de outubro de 11

Page 48: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Casos de sucesso

Alguns exemplos da tecnologia Gemfireaplicada em casos reais

quinta-feira, 27 de outubro de 11

Page 49: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Global Foreign Exchange

Ø Negociação de milhares de ativos em extrema baixa latência

Ø Autonomia regional (America, Asia, Europa)Ø Garantia transacional e de persistência de

cada negócio efetuadoØ Atualização em tempo real dos dados de

mercadoØ Cálculo imediato da posição global em tempo

real - baseado em eventosØ Distribuição de todas as atualizações

globalmente em tempo realØ Alta disponibilidade (99,99%)Ø Disaster Recovery

Caso Real: Sistema de negociação global de moedas

O projeto atingiu e permitiu:

quinta-feira, 27 de outubro de 11

Page 50: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Vários Oracle Database em cada região(é mantida apenas 1 instancia para arquivamento)

TIBCO Rendezvous para mensageria localIBM MQ Series para mensageria em WANVeritas N+1 Clustering para H/A3 DNS ou Wide IPCustos de administração em 66%

Global Foreign Exchange

Caso Real: Sistema de negociação global de moedas

O projeto permitiu substituir ou eliminar:

quinta-feira, 27 de outubro de 11

Page 51: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Caso real: Web 2.0 Portal – ads customizados

Um site extremamente pupular que atrai novos clientes baseados em bannersBanner customizado em site de parceiro

Web Server do parceiro

1 Banner Ad Server

23

4

Em alguns milisegundos, o servidor de banners deve:

Gerar um ID específico para a requisiçãoAplicar dezenas de regras relacionadas à região, contrato, IP de origem e características do clienteDecidir qual banner aplicar e customizá-lo a partir das regrasArmazenar (transacionar) o banner exibido

Web Portal

quinta-feira, 27 de outubro de 11

Page 52: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Caso real: Web 2.0 Portal – ads customizados

Um site extremamente pupular que atrai novos clientes baseados em banners

Web Server do parceiro

1 Banner Ad Server

23

4

Web Portal

Respostas com latência inferior a 1msAtingiu o target de 2500 banners entregues por segundoProvou-se escalável linearmenteMelhorou a performance da solução antiga baseada em banco de dados popular em 4x

Custou menos que a solução antiga

quinta-feira, 27 de outubro de 11

Page 53: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Caso de execução noturna de batch de re-conciliação de contas

min

0 12060

I/O Wait9%

CPU Busy15%

Mainframe

CPU Unavailable76%

COTS ClusterBatch agora executa em 60 segundos

93% Network Wait! Tempo poderia ainda ser muito reduzido com maior banda de rede!

Migração de batches do Mainframe

Caso real: Batch noturno em mainframe

120 minutos

quinta-feira, 27 de outubro de 11

Page 54: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Benefícios atingidos:

1. Economia de recursos, plataforma moderna e escalável

2. Quando algo de errado ocorre no batch, é possível se descobrir em apenas 60 segundos

3. Agora o hardware e dados estão disponíveis os outros 119 minutos para:

• Fraud detection• Compliance regulatório• Re-calcular o risco em outros 119 cenários

• Atividades ligadas ao negócio

• Aumentando a banda de rede, pode-se obter o cálculo em tempo real!

Migração de batches do Mainframe

Caso real: Batch noturno em mainframe

quinta-feira, 27 de outubro de 11

Page 55: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

655 sites, 11 mil usuáriosReal-time, tri-dimensional, NASA World Wind User Interface60,000 atualizações per minuteUsuários

President of the United StatesUS Secretary of Defense

Todos os chefes de comandoTodos os comandantes do exército

Sendo avaliado para utilização por todos os aliados dos EUA

Monitoramento e posicionamento de ativos militares - EUA

Caso real: DISA / DOD Global Command and Control

quinta-feira, 27 de outubro de 11

Page 56: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Armazenamento centralizado de dados impossívelIntegração de várias agências e divisõesMuitas aplicações lendo e escrevendo simultaneamente os dadosRedes mudando constantemente, não-confiáveis, móveis, lentasAté 60 mil atualizações de objetos por minuto (picos de 20 mil por segundo)

Até 70 pontos de atualização de dados diferentes.

Necessidade de um sistema real-time para rastrear pontos e alvos amigos e inimigos e que possa ser usado e compartilhado por todos envolvidos no cenário de guerra.

Northrop Grumman (integrador) avaliou as seguintes tecnologias - e escolheu o GemFire:•RDBMS – Oracle, Sybase, Postgres, TimesTen, MySQL•ODBMS - Objectivity•jCache – GemFire, Oracle Coherence •JMS – SonicMQ, BEA Weblogic, IBM, JBoss MQ•TIBCO Rendezvous •Web Services, Rest

Monitoramento e posicionamento de ativos militares - EUA

Caso real: DISA / DOD Global Command and Control

quinta-feira, 27 de outubro de 11

Page 57: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

39

Modern Frameworks and Tools

Lean, Cloud-scale Application Services

ü Developer Productivity and Application Portability

ü Optimized Runtime and Accelerated Deployment

Virtual Datacenter Cloud Infrastructure and Management

VMware Cloud Application Platform

quinta-feira, 27 de outubro de 11

Page 58: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

39

Modern Frameworks and Tools

Lean, Cloud-scale Application Services

ü Developer Productivity and Application Portability

ü Optimized Runtime and Accelerated Deployment Application Services

vFabric

Virtual Datacenter Cloud Infrastructure and Management

VMware Cloud Application Platform

Developer Frameworks and Tools

quinta-feira, 27 de outubro de 11

Page 59: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

40

VMware Cloud Application Platform

Virtual Datacenter Cloud Infrastructure and Management

RichWeb

ProgrammingModel

Social and Mobile

quinta-feira, 27 de outubro de 11

Page 60: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

40

VMware Cloud Application Platform

Virtual Datacenter Cloud Infrastructure and Management

RichWeb

ProgrammingModel

Social and Mobile

DataAccess

IntegrationPatterns

BatchFramework

quinta-feira, 27 de outubro de 11

Page 61: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

40

VMware Cloud Application Platform

Virtual Datacenter Cloud Infrastructure and Management

RichWeb

ProgrammingModel

Social and Mobile

DataAccess

IntegrationPatterns

BatchFramework

WaveMakerSpring Tool Suite

Code2CloudServices

quinta-feira, 27 de outubro de 11

Page 62: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

40

VMware Cloud Application Platform

Virtual Datacenter Cloud Infrastructure and Management

RichWeb

ProgrammingModel

Social and Mobile

DataAccess

IntegrationPatterns

BatchFramework

WaveMakerSpring Tool Suite

Code2CloudServices

JavaOptimizations

(EM4J, …)

Java Runtime(tc Server)

Web Runtime(ERS)

quinta-feira, 27 de outubro de 11

Page 63: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

40

VMware Cloud Application Platform

Virtual Datacenter Cloud Infrastructure and Management

RichWeb

ProgrammingModel

Social and Mobile

DataAccess

IntegrationPatterns

BatchFramework

WaveMakerSpring Tool Suite

Code2CloudServices

JavaOptimizations

(EM4J, …)

Java Runtime(tc Server)

Web Runtime(ERS)

Messaging(RabbitMQ)

Global Data(GemFire)

quinta-feira, 27 de outubro de 11

Page 64: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

40

VMware Cloud Application Platform

Virtual Datacenter Cloud Infrastructure and Management

RichWeb

ProgrammingModel

Social and Mobile

DataAccess

IntegrationPatterns

BatchFramework

WaveMakerSpring Tool Suite

Code2CloudServices

App Monitoring(Spring Insight)

Performance Mgmt(Hyperic)

Automated App Provisioning

(AppDirector)

JavaOptimizations

(EM4J, …)

Java Runtime(tc Server)

Web Runtime(ERS)

Messaging(RabbitMQ)

Global Data(GemFire)

Data Director

quinta-feira, 27 de outubro de 11

Page 65: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

41

Application Infrastructure for the Cloud Generation

VMware vFabric Cloud Application Platform

Dynamic Load Balancer

Performance Management

Policy-driven Automation

Elastic App Server

Cloud Messaging

Global Data Management

Rich Web Integration Batch Data Access Social/Cloud Tool Suite

Virtual Datacenter Cloud Infrastructure and Management

tc Server ERS (Apache) HypericRabbitMQGemFire App Director*

Frameworks & Tools

vFabricPlatform Services

quinta-feira, 27 de outubro de 11

Page 66: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

42

FAQ:§ É possível mesmo garantir HA com dados somente em memória?

• Sim! O particionamento e replicação de dados em memória garante a alta disponibilidade em índices iguais aos de armazenamentos físicos (disco).

§ Ok, mas mesmo assim posso fazer armazenamento síncrono em banco de dados?

• Certamente. Escrita síncrona ou assíncrona em banco de dados ou disco rígido.

§ Os servidores precisam ter RAM suficiente para todos os dados do banco?

• Não. Basicamente o seu modelo de dados pode/deve ser particionado entre vários servidores e a memória total seria a soma da memória de todos eles! Mesmo assim, caso necessário, o GemFire escreve o “excesso” de dados em disco (overflow) e recupera quando necessário, mesmo assim provendo performance muito superior aos DBs tradicionais.

§ Posso começar com um ambiente menor e ir escalando segundo demanda?

• Sem dúvida. Tanto o software quanto o modelo de licensiamento são escaláveis segundo o ambiente e modo de utilização. O GemFire pode ser adotado como um simples Cache de dados ou um completo Data Fabric.

§ GemFire = SqlFire?

• São produtos diferentes. Porém, o SQLFire possui o GemFire em seu core, oferecendo uma interface relacional (SQL) porém sem arquitetura orientada a eventos.

quinta-feira, 27 de outubro de 11

Page 67: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Architecting Infinitely Scalable Systems

http://blogs.msdn.com/b/pathelland/

A seminal paper on the architecture of elastic applications was written by Pat Helland (Tandem Computing, Amazon.com, Microsoft)

“Life Beyond Distributed Transactions: an Apostate’s Opinion”http://www.cidrdb.org/cidr2007/papers/cidr07p15.pdf

This paper describes how our application architectures need to change in order to achieve infinite scalability and elasticity without using large hardware

Leitura Recomendada

quinta-feira, 27 de outubro de 11

Page 68: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Start small, Grow without Limit

Planning for scalabilityin cloud environments

quinta-feira, 27 de outubro de 11

Page 69: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

45

Frederico [email protected]: fredmelo_br

quinta-feira, 27 de outubro de 11

Page 70: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Description Benefits

• Higher server consolidation through memory over-commit for Java workloads

• Protect Java applications against workload spikes without wasting memory

• Use virtualization to overcome the limitation of Java’s static heap

• New ‘memory balloon’ runs inside JVM to capture unused memory and return it to ESX

• Memory returned to JVM when it is under pressure

Use ESX to Share Memory Between VMs Running JavaElastic Memory for Java (EM4J)

quinta-feira, 27 de outubro de 11

Page 71: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Aumentando a escalabilidade com topologia Client

quinta-feira, 27 de outubro de 11

Page 72: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Aumentando a escalabilidade com topologia Client

Disk

quinta-feira, 27 de outubro de 11

Page 73: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Aumentando a escalabilidade com topologia Client

Disk

quinta-feira, 27 de outubro de 11

Page 74: GemFire Data Fabric: Extrema performance e throughput transacional com alta disponibilidade

Aumentando a escalabilidade com topologia Client

Disk Disk Disk

quinta-feira, 27 de outubro de 11