Carregando
0x60Lição 7 de 9

Particione dados sem criar pontos quentes

Escolha chaves de partição e reconheça os custos de desbalanceamento, fan-out e rebalanceamento.

14 min Questionário com 5 perguntas
Ao final desta lição, você saberá
  • Comparar particionamento por intervalo e por hash e identificar uma partição quente.

O particionamento divide os dados entre nós para que o armazenamento e o trabalho cresçam horizontalmente. O particionamento por intervalo mantém juntas as chaves vizinhas e permite varreduras ordenadas, mas as escritas no intervalo mais recente podem se concentrar num único nó. O particionamento por hash espalha as chaves de forma mais equilibrada, mas dificulta as varreduras por intervalo. Uma chave popular ainda pode sobrecarregar uma partição. O hashing consistente reduz a quantidade de dados movidos quando a composição do cluster muda, mas sozinho não elimina o desbalanceamento.

Algumas respostas ao desbalanceamento: escolher uma chave melhor, adicionar um salt às chaves muito quentes, dividir um cliente (tenant) ou criar um caminho de atendimento especializado; cada opção afeta os padrões de consulta e a operação.

Prática: escolha uma chave de partição

Experimente

Até 15 XP

Particione uma tabela de pedidos

Teste cada chave e observe tanto as escritas quanto as leituras.

  1. Qual chave espalha as escritas novas de forma mais equilibrada?
  2. Ative o cliente gigante. Qual chave sofre?
  3. Quanto a chave mais equilibrada custa quando você lê os pedidos de um único cliente?

O último painel mostra quantas chaves mudam de lugar quando você adiciona um shard.

Chave de particionamento
  • Shard 10%
  • Shard 20%
  • Shard 30%
  • Shard 4100%
Para ler os pedidos de um cliente
consultar 4 shards
Para ler os pedidos de uma semana
consultar 1 shard

Adicionando um shard: de 4 para 5

hash % número de shards
80% das chaves mudam de lugar
Hashing consistente
24% das chaves mudam de lugar

Experimente

Até 15 XP

Encontre o shard quente

Você está olhando as métricas de um cluster. Clique na linha que precisa de atenção.

Rodada 1 de 1: Um shard sobrecarregadoPontuação 0/0

Qual shard está quente?

$ cluster-stats --by-shard

Principais conclusões

  • Escolha a chave de partição pelos padrões de acesso e pela distribuição das chaves.

  • Particionar por intervalo ou por hash troca localidade por espalhamento.

  • O hashing consistente ajuda a rebalancear quando a composição do cluster muda, não a corrigir carga desequilibrada.

Quiz da aula

5 perguntas · aprovação com 4 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…