Soluções de BD de alto desempenho

Projete bancos de dados de alto desempenho com Aurora, DynamoDB e ElastiCache.

No exame SAA-C03, as questoes sobre banco de dados fazem parte do dominio "Projetar arquiteturas de alto desempenho", que representa aproximadamente 26% do exame. Dois tipos de questoes se repetem consistentemente: "Qual banco de dados e otimo para este cenario?" e "Como melhorar o desempenho do banco de dados?"

 

Por que escolher o banco de dados correto e importante?

Antes de construir uma casa, voce precisa entender as caracteristicas do terreno. Os bancos de dados funcionam da mesma forma. Primeiro voce deve entender a estrutura dos seus dados, como eles serao acessados e o volume de trafego esperado. Escolher o banco de dados errado torna a migracao posterior extremamente dificil.

 

Guia de selecao de BD — Qual banco de dados para qual situacao?

Banco de dados relacional com maximo desempenho → Aurora

Bancos de dados relacionais usam uma estrutura de tabelas com linhas e colunas. Ideais para dados estruturados como pedidos, dados de clientes e inventario. O Aurora e totalmente compativel com MySQL ou PostgreSQL enquanto a AWS otimizou profundamente o mecanismo subjacente para um desempenho dramaticamente maior.

Banco de dados relacional que requer Oracle ou SQL Server → RDS

Servico de banco de dados relacional gerenciado pela AWS que suporta Oracle, SQL Server, MySQL, PostgreSQL e MariaDB.

Estrutura chave-valor, resposta ultra-rapida, escalonamento automatico → DynamoDB

Um banco de dados NoSQL com esquema flexivel, capaz de lidar com milhoes de requisicoes por segundo em um modelo serverless. Ideal para dados de jogos moveis, dados de sensores IoT e gerenciamento de sessao.

Respostas do banco de dados muito lentas → ElastiCache

Coloque uma camada de cache na frente do banco de dados para manter os dados acessados com frequencia na memoria.

Analise de dados em grande escala → Redshift

Um data warehouse OLAP projetado para agregar e analisar centenas de milhoes de registros.

Dados de grafos → Neptune

Use quando os relacionamentos entre pontos de dados sao o valor central: redes sociais, grafos de seguidores, motores de recomendacao.

!Como escolher um banco de dados: Aurora, RDS, DynamoDB, ElastiCache, Redshift

Aurora — Atualizando de um carro normal para um sedan de luxo

Em uma frase: Aurora e MySQL ou PostgreSQL com o mecanismo reconstruido do zero para a nuvem, entregando mais de 5 vezes o desempenho.

Por que usar Aurora em vez do RDS MySQL normal?

O MySQL normal no RDS depende de um unico servidor. Aurora foi projetado do zero para ambientes distribuidos na nuvem. Ele mantem automaticamente 6 copias dos seus dados em 3 Zonas de Disponibilidade.

Principais recursos do Aurora

O armazenamento cresce automaticamente de 10 GB a 128 TB conforme necessario. Ate 15 replicas de leitura podem ser adicionadas.

As Read Replicas sao como fotocopia de um livro popular de biblioteca. O original (o mestre) lida com todas as escritas. As copias sao distribuidas para os leitores que so querem ler o conteudo. Isso reduz dramaticamente a carga de leitura no banco de dados mestre.

Aurora Serverless v2

Custa quase nada quando ocioso e escala automaticamente quando o trafego chega. Perfeito para ambientes de desenvolvimento/teste ou servicos com padroes de trafego irregulares.

Aurora Global Database

Replica da regiao primaria para uma regiao secundaria em menos de um segundo. Tambem e um componente chave em estrategias de recuperacao de desastres (DR).

 

DynamoDB — Um caderno flexivel que lida com milhoes de entradas

Em uma frase: um banco de dados NoSQL sem esquema fixo que pode armazenar dados de qualquer estrutura e processar milhoes de requisicoes em milissegundos.

Selecao de modo de capacidade

Modo provisionado: voce especifica o throughput de leitura/escrita com antecedencia. Adequado quando o trafego e previsivel e consistente.

Modo sob demanda: A AWS ajusta automaticamente para corresponder ao trafego. Use quando o trafego e imprevisto ou pode aumentar repentinamente.

DAX (DynamoDB Accelerator) — Discagem rapida no seu telefone

Numeros chamados com frequencia sao salvos como discagem rapida — voce pressiona um botao em vez de discar o numero completo. O DAX e um cache em memoria totalmente gerenciado na frente do DynamoDB. Os dados no cache respondem em microssegundos.

DynamoDB Global Tables

Tabelas multi-regiao ativo-ativo que suportam leituras e escritas em multiplas regioes simultaneamente.

DynamoDB Streams

Quando uma mudanca ocorre em uma tabela DynamoDB, um evento e publicado em um stream. Use para acionar funcoes Lambda e construir arquiteturas orientadas a eventos.

 

ElastiCache — Memoria de curto prazo ultra-rapida na frente do seu banco de dados

ElastiCache for Redis — O canivete suico

Redis e muito mais do que um simples cache. E um armazenamento de dados em memoria com suporte a replicacao de dados, persistencia, clusters de alta disponibilidade e estruturas de dados avancadas. Use Redis para placares, armazenamentos de sessao e analise em tempo real.

ElastiCache for Memcached — A chave de fenda simples

Memcached tem menos recursos que o Redis, mas essa simplicidade o torna rapido e direto. Use para cache simples de chave-valor e cenarios de escalonamento horizontal onde voce nao precisa de replicacao ou persistencia.

Quando usar Redis vs Memcached?

Precisa de replicacao, persistencia, estruturas de dados avancadas → Redis Cache simples, sem replicacao, prioridade de escalonamento horizontal → Memcached

 

Read Replicas — Fotocopia de um Livro Popular de Biblioteca

Quando o trafego de leitura e alto e o banco de dados mestre esta sobrecarregado, crie replicas de leitura para distribuir as consultas. Escritas vao apenas para o mestre; leituras sao distribuidas entre multiplas replicas.

Aurora suporta ate 15 replicas de leitura. RDS suporta ate 5.

 

Pontos-chave para o exame

"Compativel com MySQL/PostgreSQL, maximo desempenho, cloud-native" -- Aurora

"6 copias em 3 AZs, escalonamento automatico de armazenamento" -- Caracteristicas centrais do Aurora

"Replicacao para outra regiao em menos de 1 segundo, DR" -- Aurora Global Database

"Trafego irregular, banco de dados com auto-escalonamento" -- Aurora Serverless v2

Voltar à lista do blog