Pular para o conteúdo

Tema

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 ver

Uma empresa precisa gerar relatórios que agregam bilhões de linhas históricas de vendas, com consultas analíticas complexas. Qual serviço é adequado?

Quanta certeza você tem?

Vídeo · português · 7 min

Sete minutos para entender o modelo de chave-valor, que é o banco menos familiar para quem vem do relacional. Assista pensando em que tipo de consulta ele NÃO atende bem; é isso que a prova testa.

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çoForma do dadoAssinatura no enunciado
RDS, AuroraRelacionalTransação, junção, consulta ad hoc, compatibilidade com MySQL ou PostgreSQL
DynamoDBChave-valor e documentoAcesso por chave conhecida, escala massiva, milissegundo de um dígito
RedshiftColunar analíticoAgregação sobre bilhões de linhas, relatório histórico, BI
OpenSearchÍndice de buscaTexto livre, relevância, log, painel de observabilidade
NeptuneGrafoRelacionamentos, caminhos, 'amigos dos amigos', fraude por conexão
DocumentDBDocumentoCompatível com MongoDB, JSON com consultas ricas
TimestreamSérie temporalMétrica, sensor, IoT, janela de tempo
QLDBLedgerHistórico imutável, verificável criptograficamente
AthenaSQL sobre o S3Dados 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
Complementar e longo: vale pelos trechos de modelagem e de chave de partição, que explicam por que DynamoDB exige conhecer o padrão de acesso antes de criar a tabela.

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 rever

Drill

Qual banco a forma do dado pede?

Para cada descrição, diga o serviço esperado.

  1. 1.Carrinho de compras com milhões de acessos por segundo, sempre buscado pelo identificador do usuário.

  2. 2.Relatórios que cruzam cinco anos de vendas por região e categoria.

  3. 3.Busca com texto livre e correção de digitação num catálogo.

  4. 4.Sistema de pedidos com transações, junções e consultas variadas.

  5. 5.Recomendação por 'quem comprou isso também comprou', percorrendo conexões.

  6. 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

Para ir além4 artigos