Carregando
0x50Lição 6 de 13

Escolha e dimensione um banco de dados

Escolha SQL ou NoSQL pelo padrão de acesso e depois adicione índices e réplicas.

20 min Questionário com 6 perguntas
Ao final desta lição, você saberá
  • Escolher entre bancos relacionais e NoSQL com base nos requisitos.
  • Explicar o que um índice troca pelo quê.
  • Descrever a replicação líder-seguidor e o atraso de replicação.

Escolher onde guardar os dados é questão de padrões de acesso e garantias, não de moda. Bancos relacionais (PostgreSQL, MySQL) oferecem transações ACID, joins e um esquema rígido - uma ótima escolha padrão. Bancos NoSQL abrem mão de parte disso em troca de um formato específico: chave-valor (Redis, DynamoDB) para buscas por chave, documentos (MongoDB) para registros aninhados flexíveis, colunas largas (Cassandra) para conjuntos enormes de dados com muita escrita, particionados por chave, e bancos de grafos para percorrer relacionamentos.

Índices e replicação

Um índice (geralmente uma árvore B) permite que o banco encontre linhas sem varrer a tabela inteira e permite consultas por intervalo, como “posts da última semana”. O custo: mais armazenamento, e toda escrita também precisa atualizar cada índice.

Na replicação líder-seguidor, um líder aceita as escritas e as transmite para os seguidores, que atendem leituras. Isso escala as leituras e acrescenta redundância. Com replicação assíncrona, os seguidores podem ficar atrasados, então uma leitura num seguidor pode devolver dados desatualizados.

Uma solução comum para o atraso é a consistência read-your-writes (ler o que você escreveu): por um curto período depois que um usuário escreve, mande as leituras dele para o líder. O failover promove um seguidor quando o líder cai; com replicação assíncrona, escritas que o antigo líder confirmou, mas ainda não tinha replicado, podem se perder. A replicação multilíder e a sem líder aceitam escritas em vários lugares, ao custo de ter que resolver conflitos.

Prática: escolha onde guardar os dados

Experimente

Até 15 XP

O que combina com esse padrão de acesso?

Parta de como os dados são lidos e escritos, não do que está na moda.

0 de 5 classificadosPontuação 0/0
  • “Pedidos e pagamentos que precisam de transações.”

  • “Sessões buscadas pelo ID da sessão.”

  • “Bilhões de mensagens de chat, lidas por conversa.”

  • “Fotos e vídeos de perfil.”

  • “Relatórios que cruzam clientes, pedidos e produtos.”

Prática: veja o atraso de replicação

Experimente

Até 15 XP

Derrube um líder e seus seguidores

No laboratório, o líder se chama primário, e os seguidores, réplicas. Experimente:

  1. Escreva duas vezes e depois leia de uma réplica. O que o usuário veria?
  2. Derrube o primário antes de replicar. O que aconteceu com as escritas que ele confirmou?
  3. Ligue a replicação síncrona e tente de novo. O que você ganhou, e quanto custou?
  • Primáriov1
  • Réplica 1v1
  • Réplica 2v1

O primário e as duas réplicas estão na v1.

Principais conclusões

  • Escolha o banco pelo padrão de acesso e pelas garantias; relacional é uma ótima escolha padrão.

  • Índices aceleram as leituras ao custo das escritas e de espaço.

  • Réplicas de leitura escalam as leituras, mas trazem atraso; mande quem acabou de escrever para o líder.

Quiz da aula

6 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…