Pular para o conteúdo principal

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 listando trabalhos recentes A tela de cargas em massa. Cada linha é um trabalho, com seu tipo, status e progresso.

TipoFaz
Ingestão de entidadesCria registros em volume
Atualização de entidadesAtualiza registros em volume
Indexação de comparaçãoRecomputa chaves de bloco
Execução de comparaçãoRoda a comparação sobre um escopo
ReclassificaçãoReavalia pares na fila contra limiares alterados
Pontuação de qualidadeRecomputa pontuações
Recomputação de rótulosReconstrói rótulos de exibição após mudança de modelo
Backfill de asserçõesAvalia evidências existentes contra uma regra de resolução
Resolução de asserçõesResolve asserções de relacionamento pendentes
Retroalimentação de asserçõesAvalia evidências existentes contra uma regra de resolução
Resolução de asserçõesResolve 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)