Escolha e dimensione um banco de dados
Escolha SQL ou NoSQL pelo padrão de acesso e depois adicione índices e réplicas.
- 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 XPO 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.
“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 XPDerrube um líder e seus seguidores
No laboratório, o líder se chama primário, e os seguidores, réplicas. Experimente:
- Escreva duas vezes e depois leia de uma réplica. O que o usuário veria?
- Derrube o primário antes de replicar. O que aconteceu com as escritas que ele confirmou?
- 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…