1 of 23

Sr. Specialist Solutions Architect - AWS

Leo Ciccone

Arquiteturas de alta performance para bancos de dados na

AWS

2 of 23

Leo Ciccone é especialista em bancos de dados na AWS com mais de 20 anos de experiência. Atua com clientes de todas as verticais na construção e otimização de soluções, na criação de arquiteturas eficientes, resilientes e seguras e nas suas jornadas de migração e modernização de bancos de dados.

Quem é

Leo Ciccone?

3 of 23

Agenda

01

Como medir performance?

02

Entendendo os fundamentos da performance

03

Como alcançar�performance

4 of 23

O telefone toca…

5 of 23

Médias são ruins!

Percentis são seus amigos e uma representação estatística muito mais fidedigna.

6 of 23

Latência e Long-tail

Performance deve ter como foco a experiência do cliente

7 of 23

Observabilidade

Tenha uma stack de Observabilidade e saiba operá-la

8 of 23

Funcionalidades CloudWatch - RDS

Instância

Sistema Operacional

Banco de dados

Amazon CloudWatch

Amazon RDS �Enhanced Monitoring

Amazon CloudWatch �Database Insights

  • Processos / Threads e métricas avançados do SO
  • Granularidade de 1–60 segundos
  • Comece com 15s e altere para 1 Segundo durante troubleshooting

  • CPU/ Memória / IOPS / Rede – métricas do host
  • Alarmes e notificações
  • Métricas por minuto
  • Logs do banco de dados no CloudWatch Logs

  • Load do banco de dados, average active sessions
  • Granularidade por segundo
  • Suporta todos os engines de RDS
  • Identificação de anomalias com DevOps Guru for RDS

9 of 23

Funcionalidades CloudWatch - DynamoDB

Conta

Amazon CloudWatch

  • Métricas de consumo agregando por conta
  • Alarmes e notificações
  • Métricas por minuto
  • Interessante para identificar soft limits sendo atingidos

Tabela

Amazon CloudWatch

  • Métricas de consumo específicas para cada tabela
  • Alarmes e notificações
  • Métricas por minuto
  • Interessante para identificar otimizações e throttling.

Tabela

Amazon CloudWatch�Contributor Insights

  • Identificar itens mais acessados (caching)
  • Identificar chaves mais acessadas (hot partition)

10 of 23

Conceitos base da performance

Load

Saturação

Threads

Throughput

11 of 23

Conceitos base da performance

Parse

Execute

Fetch

12 of 23

Well Architected Framework

13 of 23

Well Architected Framework - Lentes

14 of 23

Well Architected

Framework�Pilar Eficiência de Performance

Seleção da Arquitetura

Hardware e Computação

Gestão dos Dados

Processos e Cultura

15 of 23

Well Architected

Framework�Pilar Excelência

Operacional

Implemente Observabilidade

Faça mudanças frequentes, pequenas e reversíveis

Aprenda com todos os eventos operacionais e métricas

Use serviços gerenciados

16 of 23

Aumentando o Throughput - RDS

Leitura

Escrita

Index consciente

Buffer pool

Paralelismo consciente

Escrever em batches

Sharding

Réplicas de leitura

Sharding

Otimizador

Parâmetros

Rotinas de�Manutenção

Minimizar constraints

Particionamento

Pooling

Carga em lote

Particionamento

Parâmetros

17 of 23

Aumentando o Throughput - DynamoDB

Leitura

Escrita

Menor item possível

Menor item possível

DynamoDB Accelerator (DAX)

Artifical Sharding

Particionamento Vertical

Modelagem

Modo de capacidade

Modo de capacidade

Paginação

TTL

Modelagem

GSIs

18 of 23

Caching

19 of 23

Padrões de Persistência distribuída

API Composition

20 of 23

Padrões de Persistência distribuída

CQRS�(Command Query Responsibility Segregation)

21 of 23

Padrões de Persistência distribuída

Saga Pattern

22 of 23

Padrões de Persistência distribuída

Event Sourcing

23 of 23

Linkedin:

linkedin.com/in/leonardo-ciccone

Youtube:

youtube.com/c/CafécomCloud

Instagram:

@cafecomcloud

Obrigado!

Conecte-se comigo!