44
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Damian Traverso, Arquiteto de Soluções, AWS Junho 2016 | São Paulo, Brasil Explorando o poder do Banco de Dados com Amazon Aurora

Explorando o poder do banco de dados com Amazon Aurora

Embed Size (px)

Citation preview

Page 1: Explorando o poder do banco de dados com Amazon Aurora

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Damian Traverso, Arquiteto de Soluções, AWS

Junho 2016 | São Paulo, Brasil

Explorando o poder do Banco de

Dados com Amazon Aurora

Page 2: Explorando o poder do banco de dados com Amazon Aurora

Conheça Amazon Aurora…Banco de Dados reimaginado para a nuvem

Velocidade e disponibilidade dos bancos de dados comerciais

high-end

Simplicidade e baixo-custo dos bancos de dados Open

Source

100% compatível com MySQL

Pague somente pelo uso

Fornecido como um serviço gerenciado

Page 3: Explorando o poder do banco de dados com Amazon Aurora

Não houveram muitas mudanças nos últimos 30 anos

Mesmo no escalonamento horizontal, você estaria replicando o mesmo stack

SQL

Transactions

Caching

Logging

SQL

Transactions

Caching

Logging

Application

SQL

Transactions

Caching

Logging

SQL

Transactions

Caching

Logging

Application

SQL

Transactions

Caching

Logging

SQL

Transactions

Caching

Logging

Storage

Application

Page 4: Explorando o poder do banco de dados com Amazon Aurora

Reimaginando o banco de dados relacional

¿O que aconteceria se você estivesse inventando o

banco de dados hoje?

Não o desenharia da mesma maneira que foi feito em

1970

Construiria alguma coisa que

consiga escalar de maneira horizontal …

consiga se recuperar automaticamente …

consiga alavancar os serviços da AWS …

Page 5: Explorando o poder do banco de dados com Amazon Aurora

Arquitetura orientada a serviços aplicada aos bancos de

dados

As camadas de logging e armazenamento foram

movidas para um serviço multi-tenant, capaz de

escalar e otimizado especificamente para

bancos de dados

Integrado com outros serviços da AWS como

Amazon EC2, Amazon VPC, Amazon

DynamoDB, Amazon SWF, e Amazon Route 53

para operações de gerenciamento

Integrado com Amazon S3 para backup contínuo

com 99,999999999% de durabilidade

Control planeData plane

Amazon

DynamoDB

Amazon SWF

Amazon Route 53

Logging + Storage

SQL

Transactions

Caching

Amazon S3

1

2

3

Page 6: Explorando o poder do banco de dados com Amazon Aurora

Rápida adoção de Amazon Aurora

Page 7: Explorando o poder do banco de dados com Amazon Aurora

Serviço com o mais rápido

crescimento na história da AWS

(?)

Primeiros clientes em adotar Aurora (?)

Page 8: Explorando o poder do banco de dados com Amazon Aurora

Expedia: Agência de viagens on-line

Business Intelligence e Analytics em tempo real

para um volume de dados crescente

Arquitetura atual baseada em SQL Server é muito

cara. O desempenho se degrada conforme o

volume de dados cresce

Cassandra com Solr precisa grandes quantidades

de memoria e centenas de nós, adicionando

custo

Benefícios do Aurora:

Aurora atende aos requisitos de escala e

desempenho com custo muito menor.

25,000 inserts/seg com picos de até 70,000. 30

ms de tempo de resposta médio para escritas e

17 ms para leituras, com 1 mês de dados

Uma das principais companhias de

viagens on-line do mundo, com um

portfólio que inclui mais de 150 sites

de viagens em 70 países.

Page 9: Explorando o poder do banco de dados com Amazon Aurora

Maior desempenho, menor custo

Safe.com reduziu o custo em um 40%, passando de

MySQL com sharding para uma única instância de

Aurora.

Double Down Interactive (jogos online) reduziu o custo

em um 67%, com uma menor latência (a maioria das

consultas correm mais rápido) e com menor utilização

da CPU.

Benefícios do Aurora:

Devido ao alto desempenho e suporte de

armazenamento de grande escala, múltiplas instâncias

de MySQL (sharding) podem ser consolidadas em

menos instâncias do Aurora..

Alto desempenho permite utilizar instâncias menores

O provisionamento automático de armazenamento

remove o desperdício

Sem custo adicional para o armazenamento das

Réplicas de leitura

Page 10: Explorando o poder do banco de dados com Amazon Aurora

"Quando executamos a carga do Alfresco em Aurora, fomos deslumbrados ao

descobrir que Aurora foi 10x mais rápido do que o nosso ambiente MySQL",

disse John Newton, fundador e CTO da Alfresco. ”A velocidade significa muito no

nosso negócio, e Aurora tem sido mais veloz, mais barato e muito mais fácil de

usar do que o MySQL."

Amazon Aurora é rápido/veloz (?)

Page 11: Explorando o poder do banco de dados com Amazon Aurora

• Quatro clientes com 1.000 threads cada um

DESEMPENHO DE ESCRITA DESEMPENHO DE LEITURA

• Único cliente com 1.000 threads

• MySQL SysBench

• R3.8XL com 32 cores e 244 GB RAM

Resultados de SQL benchmark

Page 12: Explorando o poder do banco de dados com Amazon Aurora

Desempenho consistente mesmo com um aumento da quantidade

de tabelas

• Operações só de escrita

• 1,000 conexões

• Query cache (padrão do Amazon Aurora, mas não no MySQL)

• Instâncias i2.8XL para MySQL SSD e RAM

• Instâncias r3.8XL para Aurora e Amazon RDS MySQL

11xAT É

M A I S R Á P I D O

Page 13: Explorando o poder do banco de dados com Amazon Aurora

Escritas escalam conforme a quantidade de conexões

• Carga OLTP

• Quantidade de conexões variável

• 250 tablas

• Query cache (padrão do Amazon Aurora, mas não no MySQL)

8xAT É

M A I S R Á P I D O

Page 14: Explorando o poder do banco de dados com Amazon Aurora

Desempenho consistente com uma base de dados crescente

• SysBench com carga de escritas unicamente

• Aurora r3.8XL

• Amazon RDS MySQL r3.8XL com 30K IOPs (single AZ)

67xAT É

M A I S R Á P I D O

Page 15: Explorando o poder do banco de dados com Amazon Aurora

Fazendo menos I/Os

Reduzindo os pacotes de rede

Cache de resultados

Desonerando o motor do banco de dados

FAZENDO MENOS TRABALHO

Processando de maneira assíncrona

Reduzindo a latência

Usando estruturas de dados sem locking

Agrupando operações em batch

SENDO MAIS EFICIENTE

¿Como esses resultados foram atingidos?

Page 16: Explorando o poder do banco de dados com Amazon Aurora

Aurora precisa de menos I/Os

Binlog Data Double-write bufferLog records FRM files, metadata

T I P O S D E E S C R I T AS

EBS mirrorEBS mirror

AZ 1 AZ 2

Amazon S3

MYSQL COM STANDBY

SEQUENTIAL

WRITE

SEQUENTIAL

WRITE

EBSAmazon Elastic

Block Store (EBS)

Primary

Instance

Standby

Instance

AZ 1 AZ 3

Primary

Instance

Amazon S3

AZ 2

Replica

Instance

AMAZON AURORA

ASYNC

4/6 QUORUM

DISTRIBUTED

WRITES

Page 17: Explorando o poder do banco de dados com Amazon Aurora

Amazon Aurora é altamente disponível

Page 18: Explorando o poder do banco de dados com Amazon Aurora

Amazon Aurora é altamente disponível

Armazenamento altamente disponível

• Seis cópias em três AZs

• Quorum com tolerância a falhas para leituras/escritas

• Até 15 replicas com baixo lag de replicação

Persistência de caches

• O cache se mantém no evento de um restart

• Permite retomar toda a carga rapidamente

Recuperação instantânea de falhas

• Por detrás, o armazenamento reproduz redo logs sob demanda como parte da leitura do disco

• De maneira paralela, distribuída e assíncrona

AZ 1 AZ 2 AZ 3

Amazon

S3

SQL

Transactions

Caching

T0

Page 19: Explorando o poder do banco de dados com Amazon Aurora

Failover mais rápido e previsível

AppExecutandoDetecção de falhas Propagação de DNS

Recuperação Recuperação

Falha no banco

RDS MYSQL

App

Executando

Detecção de falhas Propagação de DNS

Recuperação

Falha no

banco

AURORA COM MARIADB DRIVER

1 5 – 3 0 s e g

5 – 2 0 s e g

Page 20: Explorando o poder do banco de dados com Amazon Aurora

Amazon Aurora é simples de usar

”A nova interface de monitoramento do Amazon Aurora tornou

fácil de diagnosticar e resolver problemas. Seu desempenho,

confiabilidade e monitoramento realmente mostra que o

Amazon Aurora é um banco de dados de nível enterprise.” -

Mohamad Reza, oficial de sistemas de informação da Organização das

Nações Unidas

Page 21: Explorando o poder do banco de dados com Amazon Aurora

Simplifique o gerenciamento de armazenamento

• Escalonamento automático do armazenamento até 64 TB — sem impacto no

desempenho

• Backups contínuos e incrementais no Amazon S3

• Crie snapshots instantâneos - sem impacto no desempenho

• Restriping automático, espelhamento, gerenciamento dos hot spots e criptografia

Até 64 TB de armazenamento — auto-incrementado em unidadades de 10 GB

até 64 TB

Page 22: Explorando o poder do banco de dados com Amazon Aurora

Simplifique o monitoramento com o AWS Management

Console Métricas do Amazon

CloudWatch para RDS

Utilização de CPU

Armazenamento

Memória

50+ métricas de SO

Granularidade de 1–60 segundos

Número de conexões

Selects por segundo

Latência (leituras e escritas)

Taxa de Cache hit

Lag de replicação

Alarmes de CloudWatch

Similar com outras ferramentas

padrões de mercado

Page 23: Explorando o poder do banco de dados com Amazon Aurora

Simplifique a segurança dos dados

Criptografia para proteger os dados

armazenados

• AES-256; acelerada por hardware

• Todos os blocos em disco e no Amazon S3 são

criptografados

• Gerenciamento de chaves usando AWS KMS

SSL para proteger dados em trânsito

Isolamento de rede usando Amazon VPC

Sem acesso direito aos nós

Cumpre as certificações padrões de

segurança e proteção de dados

Storage

SQL

Transactions

Caching

Amazon S3

Application

Page 24: Explorando o poder do banco de dados com Amazon Aurora

Fornecido como um serviço gerenciado

Page 25: Explorando o poder do banco de dados com Amazon Aurora

Se você hospedar seu banco de dados on-premises

Energia, HVAC, Rede

Rack

Man. do servidor

Patches do SO

Patches do BD

Backups

Escalonamento

Alta Disponibilidade

Instalação do BD

Instalação do SO

Você

Otimizações da App.

Page 26: Explorando o poder do banco de dados com Amazon Aurora

Se você hospedar seu banco de dados no Amazon

EC2

Energia, HVAC, Rede

Rack

Man. do servidor

Patches do SO

Patches do BD

Backups

Escalonamento

Alta Disponibilidade

Instalação do BD

Instalação do SO

Você

Otimizações da App.

Page 27: Explorando o poder do banco de dados com Amazon Aurora

Se você escolher o Amazon RDS

Otimizações da App.

Você

Energia, HVAC, Rede

Rack

Man. do servidor

Instalação do SO

Patches do SO

Patches do BD

Backups

Escalonamento

Alta Disponibilidade

Instalação do BD

Page 28: Explorando o poder do banco de dados com Amazon Aurora

Com o Amazon Aurora você economiza

dinheiro

Page 29: Explorando o poder do banco de dados com Amazon Aurora

Preço simplificado

Sem licenciamento

Sem lock-in

Pague somente pelo uso

Descontos

44% com Instâncias Reservadas a 1

ano

63% com Instâncias Reservadas a 3

anos

vCPU Mem Preço por

hora

db.r3.large 2 15.25 $0.29

db.r3.xlarge 4 30.5 $0.58

db.r3.2xlarge 8 61 $1.16

db.r3.4xlarge 16 122 $2.32

db.r3.8xlarge 32 244 $4.64

• Armazenamento consumido, até 64 TB, por $0.10/GB-mês

• IOs consumidos são cobrados a $0.20 por milhão de I/Os

• Preços para região US East (N. Virginia)

Nível Enterprise de qualidade, preço de Open Source

Page 30: Explorando o poder do banco de dados com Amazon Aurora

TCO: Aurora vs. MySQLCusto por hora com MySQL

Primary

r3.8XL

Standby

r3.8XL

Replica

r3.8XLReplica

R3.8XL

Storage6TB/10K PIOP

Storage6TB/10K PIOP

Storage6TB/5K PIOP

Storage6TB/5K PIOP

$3.78/hr

$3.78/hr

$3.78/hr $3.78/hr

$2.42/hr

$2.42/hr $2.42/hr

Custo das instâncias: $15.12/hr

Custo do armazenamento: $8.30/hr

Custo total: $23.42/hr

$2.42/hr

Page 31: Explorando o poder do banco de dados com Amazon Aurora

TCO: Aurora vs. MySQLCusto por hora com Amazon Aurora

Custo das instâncias: $13.92/hr

Custo do armazenamento: $4.43/hr

Custo total: $18.35/hr

Primary

r3.8XL

Replica

r3.8XL

Replica

R3.8XL

Storage/6 TB

$4.64/hr $4.64/hr $4.64/hr

$4.43/hr

*No nível macro, Aurora economiza ~50% em

custos de armazenamento comparado com

RDS MySQL

Economia

de

21.6%

Sem instância standby inativa

Volume único de armazenamento

compartilhado

Sem PIOPS — pague pelo uso

de IOs

Redução na quantidade de IOs

Page 32: Explorando o poder do banco de dados com Amazon Aurora

TCO: Aurora vs. MySQLMais oportunidades para economizar

Custo das instâncias: $6.96/hr

Custo do armazenamento: $4.43/hr

Custo total: $11.39/hrPremissas de IOPS de armazenamento:

1. Média de IOPS é 50% dos IOPS máximos

2. 50% de economia de escrever logs vs full pages

Economia

de

51.3%

Primary

r3.8XL

Replica

r3.8XLReplica

r3.8XL

Storage/6 TB

$2.32/hr $2.32/hr $2.32 hr

$4.43/hr

r3.4XL r3.4XL r3.4XL

Use instâncias menores

Pague pelo uso do

armazenamento

Page 33: Explorando o poder do banco de dados com Amazon Aurora

Migração para Amazon Aurora é fácil

Page 34: Explorando o poder do banco de dados com Amazon Aurora

Comece sua primeira migração em 10 minutos ou menos

Mantenha suas aplicações em execução durante a

migração

Replique entre, de, ou para Amazon EC2 ou RDS

Mova dados para a mesma engine ou para uma diferente

AWS

Database Migration

Service

Page 35: Explorando o poder do banco de dados com Amazon Aurora

Customer

premises

Aplicações

AWS

Internet

VPN

Lance uma instância de replicação

Associe os bancos de origem e destino

Escolha tabelas, esquemas ou bases

Deixe que AWS Database Migration

Service crie as tabelas, carregue os

dados e os mantenha em sincronia

Altere as aplicações para utilizar o

banco de destino de acordo com a sua

necessidade

Mantenha suas aplicações em execução durante a

migraçãoAWS

Database Migration

Service

Page 36: Explorando o poder do banco de dados com Amazon Aurora

Migre de Oracle e SQL Server

Mova suas tabelas, views, stored procedures, e DML para MySQL, MariaDB, e Amazon Aurora

Saiba exatamente onde alterações manuais são

necessárias

Baixe em aws.amazon.com/dms

AWS

Schema Conversion

Tool

Page 37: Explorando o poder do banco de dados com Amazon Aurora

Know exactly where manual edits are needed

Page 38: Explorando o poder do banco de dados com Amazon Aurora

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Felipe Vagner Mattar Brandão, Gerente de TI, Kroton

Junho 2016 | São Paulo, Brasil

Kroton e

Amazon Aurora

Page 39: Explorando o poder do banco de dados com Amazon Aurora

“O Amazon Aurora trouxe uma maior

estabilidade para a principal plataforma de

estudos dos nossos alunos…

A Kroton Educacional é a maior

empresa de Educação do mundo,

com mais de 1.4 MM alunos, mais

de 900 pólos franqueados e 150

campis próprios

O Moodle é a principal plataforma

pedagógica digital da companhia e

atende mais de 1.2 MM alunos com

mais de 3 MM de acessos por mês

“A escalabilidade do

LMS ficou mais

próxima dos 100%,

utilizando Réplicas

para Consultas,

liberando o Master de 60% das atividades

de alto consumo”

- Felipe Brandão,

Gerente de TI

Page 40: Explorando o poder do banco de dados com Amazon Aurora

O Desafio

Escalar RDS horizontalmente sem causar indisponibilidade

Distribuir processamento de consultas da aplicação com o menor custo e tempo de desenvolvimento

Reduzir custo para a utilização pesada em período de sazonalidade

Separar as bases de produção, operação e staging com dados on-line

Page 41: Explorando o poder do banco de dados com Amazon Aurora

Solução

Page 42: Explorando o poder do banco de dados com Amazon Aurora

Solução

Page 43: Explorando o poder do banco de dados com Amazon Aurora

Anexo - Kroton na Nuvem

Page 44: Explorando o poder do banco de dados com Amazon Aurora

¡Muito Obrigado!