Carregando dados em massa
Carregar alguns registros é uma requisição. Carregar alguns milhões é um trabalho — roda de forma assíncrona numa frota de workers, reporta progresso e sobrevive à morte de um worker no meio do caminho.
Tipos de trabalho
A tela de cargas em massa. Cada linha é um trabalho, com seu tipo, status e progresso.
| Tipo | Faz |
|---|---|
| Ingestão de entidades | Cria registros em volume |
| Atualização de entidades | Atualiza registros em volume |
| Indexação de comparação | Recomputa chaves de bloco |
| Execução de comparação | Roda a comparação sobre um escopo |
| Reclassificação | Reavalia pares na fila contra limiares alterados |
| Pontuação de qualidade | Recomputa pontuações |
| Recomputação de rótulos | Reconstrói rótulos de exibição após mudança de modelo |
| Backfill de asserções | Avalia evidências existentes contra uma regra de resolução |
| Resolução de asserções | Resolve asserções de relacionamento pendentes |
| Retroalimentação de asserções | Avalia evidências existentes contra uma regra de resolução |
| Resolução de asserções | Resolve asserções de relacionamento pendentes |
Tipos de recomputação aceitam escopo de organização inteira, então "repontuar tudo" é uma única submissão em vez de um problema de orquestração que você precise resolver.
Como os trabalhos se comportam
Um trabalho é dividido em blocos que workers reivindicam independentemente. É por isso que:
- Um worker que morre perde no máximo um bloco, que outro worker reivindica. O progresso não recomeça.
- Acrescentar workers acrescenta vazão sem reconfigurar o trabalho.
- O progresso é real, derivado de blocos concluídos mais o progresso ao vivo dentro dos que estão em curso, em vez de estimado.
Trabalhos reportam uma situação, uma contagem de progresso e erros por linha onde linhas falharam individualmente.
Sucesso parcial é normal
Uma carga de um milhão de linhas normalmente terá algumas que falham na validação. O trabalho não aborta — linhas válidas entram, falhas são registradas por linha com o motivo, e você corrige e reenvia apenas essas.
Este é o padrão certo em volume. Abortar uma carga de um milhão por causa de quarenta linhas ruins desperdiça as outras 999.960.
Contrapressão
Submeter mais trabalho do que a plataforma consegue absorver é rejeitado explicitamente, em vez de aceito e enfileirado indefinidamente. Uma rejeição diz para tentar depois, o que é uma falha muito melhor que crescimento silencioso e ilimitado.
O caminho de carga inicial
A primeira carga numa organização nova é um caso especial: não há histórico que valha registrar e nada mudou ainda. Uma opção de carga inicial dispensa o histórico e a auditoria por linha, o que é substancialmente mais rápido, e o histórico de um registro passa a começar na sua primeira mudança real.
Use-a na primeira carga. Não a use em operação contínua — o histórico que ela dispensa é o histórico que você vai querer depois.
Conselhos
- Padronize e valide antes de carregar em volume, não depois. Corrigir um milhão de registros é muito mais caro que configurar uma regra.
- Carregue dados de referência primeiro, depois entidades, depois relacionamentos. Cada um depende do anterior.
- Compare depois de carregar, não durante. Comparar um conjunto parcialmente carregado produz decisões que dados posteriores teriam mudado.
A seguir
Última verificação no commit d3c2586b (2026-08-03)