Blog · 6 min de leitura

Busca instantânea sobre 62 milhões de CNPJs: a engenharia por trás do BaseCNPJ

Digitou, apareceu. Sugerir a empresa certa em milissegundos sobre uma base gigante é problema de indexação — não de sorte.
Por · publicado em

No BaseCNPJ, você começa a digitar o nome de uma empresa e as sugestões aparecem na hora — sobre uma base de mais de 62 milhões de estabelecimentos. Parece trivial do lado de quem usa; do lado da engenharia, é um problema clássico de indexação e normalização de dados públicos. Este é o resumo de como a Meta Dados resolve.

O desafio: autocompletar sobre 62 milhões de registros

Busca "as-you-type" (à medida que se digita) precisa responder em dezenas de milissegundos, senão a sugestão chega depois da próxima tecla. Fazer isso com um LIKE curinga em uma tabela de 62 milhões de linhas é o caminho garantido para a lentidão: cada tecla varre a base inteira.

Indexação para busca por prefixo

A saída é preparar o dado para a busca, não buscar no dado cru. Mantemos uma camada de índice otimizada para casamento por prefixo e por termo, sobre o nome empresarial e o nome fantasia já normalizados. A consulta que o usuário dispara bate no índice — pequeno e feito para isso — e não na tabela transacional inteira.

Usuário digita"pad..."Índice de prefixonomes normalizadosSugestões (ms)Endereço RFBcompletoGeocodificadorpróprio · dedicadoCoordenada27,5M pontos
A busca bate num índice de prefixo sobre nomes normalizados (milissegundos), não na tabela de 62M; o endereço vira coordenada por geocodificador próprio.

Normalização: o dado da Receita é sujo

Os dados abertos da Receita Federal chegam com acentuação inconsistente, caixa variada, abreviações e ruído. Antes de indexar, normalizamos: remoção de acentos, padronização de caixa, tratamento de termos comuns. É essa normalização que faz "padaria sao joao" encontrar "PADARIA SÃO JOÃO LTDA" sem o usuário se preocupar com como digitou.

Geolocalização por endereço exato

Aqui está o diferencial que poucos têm: não paramos no município. Um geocodificador próprio, auto-hospedado em servidor dedicado, resolve o endereço cadastral completo em coordenada (latitude/longitude), com cache por entidade. Já são mais de 27,5 milhões de pontos geolocalizados, cobrindo 99,7% da população geocodável — o resíduo são empresas sediadas no exterior, caracterizado e limitado, não ignorado. Isso habilita consulta por proximidade e raio, densidade setorial e cobertura territorial de verdade — não uma aproximação por centro de cidade.

Frescor: reindexar a cada ciclo da Receita

A Receita publica os dados em ciclos mensais. A cada ciclo, a base é reprocessada e o índice, reconstruído — com validação de completude antes de entrar no ar. E o Metabase acompanha o próprio uso da busca e da API por cliente, fechando o ciclo entre engenharia e negócio.

Sistemas que conectamos aqui

Perguntas frequentes

Como sugerir empresas enquanto o usuário digita sem sobrecarregar o banco?

A chave é não buscar na tabela transacional a cada tecla. Uma camada de índice preparada para casamento por prefixo, sobre campos já normalizados, responde em milissegundos e isola a busca da carga de produção. O banco principal fica livre para o que ele faz de melhor.

A geolocalização é por coordenada exata de cada empresa?

Sim. Um geocodificador próprio, rodando em servidor dedicado, resolve o endereço cadastral completo em coordenada (latitude/longitude), com cache por entidade — mais de 27,5 milhões de pontos, 99,7% de cobertura da população geocodável. O que não geocodificamos (empresas sediadas no exterior) é caracterizado e limitado, não escondido.

Comece sem custo

Tem uma base grande que precisa ficar pesquisável e visual? Diagnóstico gratuito em 48h.

Mapeamos seus sistemas atuais, apontamos os maiores gargalos e entregamos um plano priorizado por risco × esforço. Você sai com clareza — usando ou não a Meta Dados.

Quero meu diagnóstico → Falar no WhatsApp Sem compromisso, sem cartão.
Respondemos em até 2 horas úteis.
←  Voltar para Blog