Quais são as opções de banco de dados gerenciados na AWS?

Post on 07-Jan-2017

186 views 3 download

Transcript of Quais são as opções de banco de dados gerenciados na AWS?

2016, Amazon Web Services, Inc. ou Afiliadas. Todos os direitos reservados.

Hugo Rozestraten, arquiteto de soluções

14 de Setembro de 2016

Serviços de banco de dados gerenciado na Amazon Web Services

Pauta de hoje

• Por que serviços de banco de dados gerenciado?• Um banco de dados não relacional gerenciado• Um banco de dados relacional gerenciado• Um cache de memória gerenciado• Um data warehouse gerenciado• Qual será o próximo passo

Por que serviços de banco de dados gerenciado?

Opções para executar seu banco de dados

• Auto gerenciado—Você é responsável pelo hardware, SO, segurança, atualizações, backups, replicação, etc., mas tem controle total sobre ele.

• Instâncias do EC2—Você só precisa se concentrar nas atualizações de banco de dados, patches, replicação, backups, etc. e não precisa se preocupar com a instalação de hardware ou do SO.

• Totalmente gerenciado—Você tem recursos como backup, replicação, etc. como um pacote de serviços e não precisa se preocupar com patches e atualizações.

Quais são as opções de DB gerenciadas pela AWS?

Um serviço gerenciado para cada tipo principal de DB

Armazenamento de key-valor na

memória

Amazon ElastiCache

Data warehouse

Amazon Redshift

Mecanismos do banco de dados

SQL

Amazon RDS

Armazenamento de documento

e key-valor

Amazon DynamoDB

Escolha a melhor ferramenta para o trabalho

O que é Amazon RDS?

Bancos de dados relacionais

Totalmente gerenciado

Desempenho rápido e previsível

Simples e rápido de escalonar

Baixo custo – pague somente por aquilo que usar

AmazonRDS

Amazon Aurora

Casos de usoAplicável onde quer que você precise de bancos de dados relacionais

eCommerce Jogos

Websites Soluções de TI

Apps

Relatórios

Matriz de recursos do RDSRecurso Aurora MySQL PostgreSQL MariaDB Oracle SQL Server

VPC

Alta disponibilidade Escalabilidade da instância

Criptografia

Réplicas de leitura Oracle Golden GateInter-região

Armazenamento máximo 64 TB 6 TB 6 TB 6 TB 6 TB 4 TB

Armazenamento em escala

Escalabilidade automática

Provisioned IOPS N/D 30,000 30,000 30,000 30,000 20,000

Maior instância R3.8XL R3.8XLM4.10XL

R3.8XLM4.10XL

R3.8XLM4.10XL

R3.8XLM4.10XL

R3.8XLM4.10XL

Amazon Aurora: rápido, disponível e compatível com MySQL

SQL

Transações

AZ 1 AZ 2 AZ 3

Cache

Amazon S3

5x mais rápido que o MySQL no mesmo hardware

Sysbench: 100K gravações/seg e 500K leituras/seg

Projetado para 99,99% de disponibilidade

Armazenamento replicado 6 vezes em 3 AZs

Escalonar até 64 TB e 15 réplicas de leitura

Amazon RDS é simples e rápido de escalonar

Os tipos de instância do banco de dados oferecem uma série de escolhas de CPU e memória

Dimensione para cima ou para baixoentre tipos de demanda

O armazenamento no banco de dados é escalonável sob demanda

O Amazon RDS oferece armazenamento rápido e previsível

General Purpose (SSD) para a maior parte das cargas de trabalho

Provisioned IOPS (SSD) para cargas de trabalho OLTP com até 30.000 IOPS

Magnetic para cargas de trabalho pequenas com acesso infrequente

Implantações multi-AZ de alta disponibilidade

Solução de tolerância a falhas de nível corporativo para bancos de dados de produção

Failover automáticoReplicação síncrona

Barato e habilitado com alguns cliques

Selecione réplicas de leitura para maior escalabilidade

Leve os dados para perto dos aplicativos do seu cliente em diferentes regiões.

Alivie a pressão sobre o nó mestre para suportar leituras e gravações.

Promova uma réplica de leitura a um mestre para recuperação mais rápida no caso de um desastre.

Selecione replicação inter-região para localidade de dados avançada, até mais facilidade de migração

Recuperação ainda mais rápida no caso de desastre

Aproxime os dados dos clientes

Promova a um mestre para fácil migração

Selecione cópia de snapshot inter-região para durabilidade ainda maior e facilidade de migração

Copie um snapshot do banco de dados a uma região diferente da AWS

Espera passiva para recuperação de desastres

Base para migração a uma região diferente

Como funcionam os backups do Amazon RDS?

Backups automatizadosRestaure seu banco de dados a um ponto no tempo

Habilitado por padrão

Selecione um período de retenção de até 35 dias

Snapshots manuaisCrie uma nova instância de banco de dados a partir de um snapshot, quando necessário

Iniciado por você

Persiste até você excluir

Armazenado em Amazon S3

Você paga pelos recursos que usar

Conta mensal = N ×

Mais detalhes em http://aws.amazon.com/elasticache/pricing/

Duração pela qual os nós foram usados

Número de nós

(O preço depende do tipo de nó)

Nível gratuito (pelos 12 primeiros meses)750 horas de microinstância de banco de dados 20 GB de armazenamento no banco de dados20 GB para backups10 milhões de operações E/S

+

Armazenamento consumido

(O preço depende do tipo de

armazenamento)

GB

Clientes selecionados do Amazon RDS

O que é o Amazon DynamoDB?

Amazon DynamoDB

Bancos de dados NoSQL

Totalmente gerenciado

Latência inferior a milissegundos de dígito único

Escalabilidade maciça e contínua

Baixo custo

AmazonDynamoDB

Amazon DynamoDB: um documento gerenciado e um armazenamento de key-valorSimples e rápido de implantar

Simples e rápido de escalonar• A milhões de IOPS

Os dados são replicados automaticamente

Desempenho rápido e previsível• Respaldado por armazenamento SSD

Índices secundários oferecem buscas rápidas

Nenhum custo para começar; pague só pelo que consumir

Casos populares de uso

Veiculação de anúncios,

redirecionamento, busca de

ID, gerenciamento do perfil

do usuário, rastreamento da

sessão, RTB

Estado de rastreamento,

metadados e leituras de

milhões de dispositivos,

notificações em tempo real

Registro de detalhes do jogo,

painéis de líderes,

informações da sessão,

histórico de uso e logs

Armazenamento de perfis do

usuário, detalhes da sessão,

configurações de

personalização, metadados

específicos da entidade

Tecnologia de anúncios IoT Jogos Mobile

e web

GravaçõesReplicado continuamente para 3 AZs

Persistiu no disco (SSD personalizado)

LeiturasFortemente ou finalmente consistente

Sem troca de latência

Replicação automática para durabilidade e disponibilidade sólidas

O Amazon DynamoDB é um banco de dados sem schema

Tabela Itens

Atributos (pares de nome-valor)

Cada item deve incluir uma key

Key hash (O DynamoDB mantém um

índice não ordenado)

Cada item deve incluir uma key

Key hash

Key de intervalo (O DynamoDB mantém um

índice classificado)

Índices secundários locais = keys de intervalo alternativo

Key hash

Key de intervalo

Key LSI

Índices secundários globais = “gráficos pivô” para sua tabela

Escolha quais atributosprojetar

(se for o caso)

Defina o desempenho desejado usando a taxa de transferência provisionada

Unidades com capacidade de

leitura

Unidades com capacidade de

gravação

1 RPS > 2,5 M de solicitações em um mês

DynamoDB: o que são unidades de capacidade?

Uma gravação por segundo até 1 KB

Uma leitura fortemente consistente por segundo até 4 KB

ou

Duas leituras ocasionalmente consistentes por segundo

Uma unidade de capacidade de gravação

Uma unidade de capacidade

de leitura

Arquitetura simples de aplicativo com o Amazon DynamoDB

Elastic LoadBalancing Instâncias do

aplicativo Amazon EC2

Clientes

DynamoDB

Lógica de negócios

Como o faturamento do DynamoDB funciona

Conta mensal = GB +

Pressupõe que a instância do DB é acessada somente da região da AWSMais detalhes em http://aws.amazon.com/dynamodb/pricing/

≈ 5 GB * $0,25 + 21 * 720 hrs * $0,0065/10 + 35 * 720 hrs * $0,0065/50 ≈ $14,36

Armazenamento consumido

(mais 100 bytes por item)

Cobrança por unidades de capacidade

de gravaçãopor hora

+Cobrança por unidades de

capacidade de leiturapor hora

Como funciona a cobrança do DynamoDB (com nível gratuito)

Conta mensal = GB +

Pressupõe que a instância do DB é acessada somente da região da AWSMais detalhes em http://aws.amazon.com/dynamodb/pricing/

≈ 5–25 GB * $0,25 + 21–25 * 720 hrs * $0,0065/10 + 35–25 * 720 hrs * $0,0065/50

Armazenamento consumido

(mais 100 bytes por item)

Cobrança por unidades de capacidade

de gravaçãopor hora

Cobrança por unidades de

capacidade de leiturapor hora

Nível gratuito (pelos 12 primeiros meses)• Armazenamento de 25 GB• 25 unidades de capacidade de gravação• 25 unidades de capacidade de leitura

+

Como funciona a cobrança do DynamoDB (com nível gratuito)

Conta mensal = GB +

Pressupõe que a instância do DB é acessada somente da região da AWSMais detalhes em http://aws.amazon.com/dynamodb/pricing/

≈ 0 + 0 + 10 * 720 hrs * $0,0065/50 ≈ $0,94

Armazenamento consumido

(mais 100 bytes por item)

Cobrança por unidades de capacidade

de gravaçãopor hora

+Cobrança por unidades de

capacidade de leiturapor hora

NoSQL vs. SQL para um novo app: como escolher?

• Schema forte, relacionamentos complexos, transações e uniões

• O escalonamento é difícil• Foco na consistência sobre

escala e disponibilidade

• Sem schema, leitura e gravação fáceis, modelo de dados simples

• O escalonamento é fácil• Foco em desempenho

e disponibilidade em qualquer escala

NoSQL SQL

O que é o Amazon Redshift?

Amazon Redshift

muito mais rápidomuito mais baratomuito mais simples

Data warehouse relacional

Maciçamente paralelo; escala de petabytes

Totalmente gerenciado

Plataformas HDD e SSD

$1.000/TB/ano; começa em $0,25/hora

Quem usa Amazon Redshift?

• Reduz de custos ao ampliar DW em vez de adicionar HW

• Faz migração completa dos sistemas de DW existentes

• Reage mais rápido aos negócios; provisão em minutos

• Melhora o desempenho em ordem de magnitude

• Disponibiliza mais dados para análise

• Acessa dados de negócios via ferramentas de relatórios padrão

• Adiciona recursos analíticos aos aplicativos

• Escalona a capacidade de DW conforme a demanda aumenta

• Reduz custos de HW e SW em ordem de magnitude

DW corporativo tradicional Companhias com big dataEmpresas de SaaSCompanhias com big data

Clientes SQL/ferramentas de BI

Nó de computação

Nó de computação

Nó de computação

Nólíder

Arquitetura do Amazon RedshiftNó líder

• Endpoint SQL simples• Armazena metadados• Otimiza o plano de consultas• Coordena a execução da consulta

Nós de computação• Armazenamento colunar local• Execução paralela/distribuída de todos os

backups, consultas, cargas, restaurações, redimensionamentos

A partir de somente $0,25/hora, crescimento para 2 PB (compactado)

• DC1: SSD; escalona 160 GB–326 TB• DS2: HDD; escalona 2 TB–2 PB

10 GigE(HPC)

InserçãoBackupRestauração Amazon S3/DynamoDB/Amazon EMR

JDBC/ODBC

Amazon Redshift reduz drasticamente E/S

• Com o armazenamento de linhas, você faz E/S desnecessárias

• Para ver o valor total, é preciso ler tudo

ID Idade Estado Valor

123 20 CA 500

345 25 WA 250

678 40 FL 125

957 37 WA 375

• Armazenamento de colunas

• Compactação de dados

• Mapas de zonas

• Direct-Attached Storage

• Com o armazenamento de colunas, você lê somente os dados de que precisa

ID Idade Estado Valor

123 20 CA 500

345 25 WA 250

678 40 FL 125

957 37 WA 375

Amazon Redshift reduz drasticamente E/S

• Armazenamento de colunas

• Compactação de dados

• Mapas de zonas

• Direct-Attached Storage

analyze compression listing;

Table | Column | Encoding ---------+----------------+---------- listing | listid | delta listing | sellerid | delta32k listing | eventid | delta32k listing | dateid | bytedict listing | numtickets | bytedict listing | priceperticket | delta32k listing | totalprice | mostly32 listing | listtime | raw

Amazon Redshift reduz drasticamente E/S

• COPY compacta automaticamente

• Você pode analisar e substituir

• Mais desempenho, menos custo

• Armazenamento de colunas

• Compactação de dados

• Mapas de zonas

• Direct-Attached Storage

Amazon Redshift reduz drasticamente E/S

10 | 13 | 14 | 26 |…

… | 100 | 245 | 324

375 | 393 | 417…

… 512 | 549 | 623

637 | 712 | 809 …

… | 834 | 921 | 959

10

324

375

623

637

959

• Acompanhe os valores mínimo e máximo de cada bloco

• Pule blocos que não contêm dados relevantes

• Armazenamento de colunas

• Compactação de dados

• Mapas de zonas

• Direct-Attached Storage

Amazon Redshift reduz drasticamente E/S

• Armazenamento de colunas

• Compactação de dados

• Mapas de zonas

• Direct-Attached Storage

DW.HS1.8XL:

• Velocidade de verificação > 2 GB/seg

• Otimizado para processamento de dados

• Alta densidade de disco

16 GB RAM

2 núcleos

Disco de 2 TB

DW.HS1.XL:

128 GB RAM

16 núcleos

Disco de 16 TB

Backups totalmente gerenciados, contínuos/incrementais

Múltiplas cópias dentro do cluster

Backups contínuos e incrementais para o Amazon S3

Backups contínuos e incrementais entre regiões

Restauração de streaming Amazon S3

Amazon S3

Região 1

Região 2

Nó de computação

Nó de computação

Nó de computação

O Amazon Redshift oferece tolerância sólida a falhas

Amazon S3

Amazon S3

Região 1

Região 2

Nó de computação

Nó de computação

Nó de computaçãoFalhas de disco

Falhas do nó

Falha de rede

Desastres em nível AZ/regional

Você paga por aquilo que usa

Mais detalhes em https://aws.amazon.com/redshift/pricing/

Conta mensal = N ×

Número de nós Duração pela qual os nós

foram usados(O preço depende do tipo de nó)

Nível gratuito (trial gratuito por 2 meses)• 750 horas no DC1.Large por mês

Redshift tem um grande ecossistemaIntegração de dados Integradores de sistemasBusiness Intelligence

Clientes selecionados do Amazon Redshift

O que é o Amazon ElastiCache?

Armazenamento de key-valor na memória

Alto desempenho

Cache na memória redimensionável

Memcached e Redis

Totalmente gerenciado; zero admin.

Compatível com seus aplicativos existentes

AmazonElastiCache

Casos populares de uso

Camada de cache para otimização do desempenho ou do custo de um banco de dados subjacente

Armazenamento de dados de chave-valor efêmeros

Padrões de aplicativo de alto desempenho, como placar de líderes (para usuários de jogos), gerenciamento da sessão, contadores de eventos, listas na memória

• Totalmente gerenciado• Autodescoberta do nó do cache• Posicionamento do nó multi-AZ

Principais recursos do ElastiCache

• Totalmente gerenciado• Multi-AZ com failover automático• Persistência• Réplicas de leitura

Amazon ElastiCache: arquitetura de app simples

Elastic LoadBalancing Instâncias do

aplicativo Amazon EC2

Clientes

Amazon RDSAmazon ElastiCache

Amazon ElastiCache: arquitetura de app resiliente

Elastic LoadBalancing

Clientes

AZ a

AZ b

Como funciona o faturamento ElastiCache

Conta mensal = N ×

Mais detalhes em http://aws.amazon.com/elasticache/pricing/

Duração pela qual os nós foram usados

Número de nós

(O preço depende do tipo de nó)

Nível gratuito (pelos 12 primeiros meses)• 750 horas de nó de microcache

Clientes selecionados do ElastiCache

Serviços de DB gerenciados: melhor juntos

Elastic LoadBalancing

Clientes

AZ a

AZ b

Próximas etapas

Nível gratuito

DynamoDB

RDS

ElastiCache

Redshift

Obrigado!