devterview_$ iniciar simulação

Como escolher uma chave de sharding

DifícilSêniorDesign de sistemas

Pergunta

Você precisa fazer sharding de uma tabela de usuários que cresceu demais para um único banco. Como escolheria a chave de sharding e o que pode dar errado?

Resposta esperada

A chave de sharding ideal distribui a carga de forma uniforme e mantém juntos os dados acessados juntos com frequência (ex: sharding por user_id mantém todos os dados de um usuário no mesmo shard, evitando queries cross-shard constantes). O risco principal é uma chave com distribuição desigual (hot shard) — por exemplo, fazer sharding por país concentra tráfego demais em poucos shards se a base de usuários for concentrada geograficamente. Outro problema clássico: queries que precisam agregar entre shards (ex: 'top 10 usuários globais') ficam caras e exigem uma camada extra de agregação.

Por que perguntam isso

Resposta forte antecipa o problema de queries cross-shard antes de o entrevistador perguntar — mostra que já pensou no sharding além do dia da migração.

#sharding#escala#banco-de-dados
publicidade

Relacionadas