Arquiteturas de alto desempenho · tema 17 de 22
Qual banco para qual caso de uso
35 min · 2 vídeos · 13 cards · 1 drill
Por que cai
A AWS tem um banco para cada forma de dado, e a prova aposta que você vai escolher pelo nome conhecido em vez do caso de uso. Reconhecer a assinatura de cada um — 'relacionamentos entre entidades' é grafo, 'agregação sobre bilhões de linhas' é data warehouse — elimina três alternativas de imediato.
Pré-teste · 1 de 2
responda antes de verUma empresa precisa gerar relatórios que agregam bilhões de linhas históricas de vendas, com consultas analíticas complexas. Qual serviço é adequado?
Vídeo · português · 7 min
Em uma frase
A AWS tem um banco por forma de dado e de consulta, e a questão descreve a forma sem dizer o nome. Reconhecer a assinatura — chave, agregação, texto, relacionamento, documento, série, ledger — é o que separa a resposta certa das três plausíveis.
O mapa
| Serviço | Forma do dado | Assinatura no enunciado |
|---|---|---|
| RDS, Aurora | Relacional | Transação, junção, consulta ad hoc, compatibilidade com MySQL ou PostgreSQL |
| DynamoDB | Chave-valor e documento | Acesso por chave conhecida, escala massiva, milissegundo de um dígito |
| Redshift | Colunar analítico | Agregação sobre bilhões de linhas, relatório histórico, BI |
| OpenSearch | Índice de busca | Texto livre, relevância, log, painel de observabilidade |
| Neptune | Grafo | Relacionamentos, caminhos, 'amigos dos amigos', fraude por conexão |
| DocumentDB | Documento | Compatível com MongoDB, JSON com consultas ricas |
| Timestream | Série temporal | Métrica, sensor, IoT, janela de tempo |
| QLDB | Ledger | Histórico imutável, verificável criptograficamente |
| Athena | SQL sobre o S3 | Dados já no S3, consulta ocasional, sem infraestrutura |
Os pares que a prova confunde
Relacional × DynamoDB. A pergunta que decide é se o padrão de acesso é conhecido. DynamoDB exige escolher a chave de partição sabendo como o dado será lido; em troca, entrega escala e latência constantes. Consulta ad hoc imprevisível, com junções, é relacional.
Redshift × Athena. Os dois fazem SQL analítico. Athena consulta o que já está no S3, sem provisionar nada, cobrando por dado lido — ideal para consulta ocasional. Redshift entra quando há consulta frequente, muitos usuários e necessidade de desempenho previsível, e vale manter um cluster.
DocumentDB × DynamoDB. Os dois guardam documentos. DocumentDB é compatível com MongoDB, com consultas ricas e índices sobre campos arbitrários; DynamoDB é chave-valor com índices que você planeja. A palavra "MongoDB" no enunciado resolve.
Aurora, e quando ele é a resposta
Aurora aparece como versão "melhor" do relacional em três situações que o enunciado nomeia:
- Compatível com MySQL ou PostgreSQL com desempenho maior e armazenamento que cresce sozinho em três zonas.
- Muita leitura: até 15 réplicas com endpoint de leitura próprio.
- Carga intermitente ou imprevisível: Aurora Serverless ajusta a capacidade sozinho, e é a resposta quando manter instância dimensionada para o pico seria desperdício.
Como responder o cenário
Leia a consulta, não o volume: por chave (DynamoDB), com junções (relacional), somando muito (Redshift), por texto (OpenSearch), por caminho entre entidades (Neptune), por janela de tempo (Timestream), com prova de imutabilidade (QLDB). Depois confira onde o dado já está: se está no S3 e a consulta é ocasional, Athena elimina toda a discussão sobre qual banco usar.
Se quiser outro ângulo1 vídeo
Como cai na sabatina
“A consulta precisa percorrer relacionamentos entre pessoas e contas a várias profundidades. Qual banco?”
Erros comuns
- Usar Redshift para carga transacional. Ele é colunar e massivamente paralelo, desenhado para agregação analítica; transação frequente e pequena é RDS ou DynamoDB.
- Usar DynamoDB quando o enunciado exige consultas relacionais variadas e junções. DynamoDB brilha com padrões de acesso conhecidos e chave bem escolhida; consulta ad hoc arbitrária é relacional.
- Achar que OpenSearch é banco primário. Ele é motor de busca e análise de log; o dado costuma ter uma fonte de verdade em outro lugar.
- Propor um banco relacional para percorrer relacionamentos profundos. Cada nível vira uma junção; grafo (Neptune) foi feito para isso.
- Confundir DocumentDB com DynamoDB. DocumentDB é compatível com MongoDB, para documentos com consultas ricas; DynamoDB é chave-valor de escala massiva.
- Esquecer o Athena. Consultar dados que já estão no S3, sem carregar em banco nenhum, é Athena; propor Redshift nesse caso adiciona uma etapa que o enunciado não pediu.
Flashcards
Card 1 de 13
0 certos · 0 a reverDrill
Qual banco a forma do dado pede?
Para cada descrição, diga o serviço esperado.
1.Carrinho de compras com milhões de acessos por segundo, sempre buscado pelo identificador do usuário.
2.Relatórios que cruzam cinco anos de vendas por região e categoria.
3.Busca com texto livre e correção de digitação num catálogo.
4.Sistema de pedidos com transações, junções e consultas variadas.
5.Recomendação por 'quem comprou isso também comprou', percorrendo conexões.
6.Analista precisa rodar uma consulta pontual sobre arquivos já no S3.
Quiz · 1 de 4
Uma aplicação de jogos precisa registrar e ler o estado de sessão de milhões de jogadores simultâneos, sempre pelo identificador do jogador, com latência de milissegundo de um dígito e escala elástica. Qual banco atende?
Explique para um gerente
Explique em um minuto por que uma consulta de 'amigos dos amigos' é lenta num banco relacional e natural num banco de grafo.
Se travar numa palavra técnica, é sinal de que ainda não entendeu essa parte.
Prefiro falar em voz alta
00:00
Toque para gravar, ou responda em voz alta sem gravar