Este é um componente frequentemente ausente, mas valioso para a maioria dos sistemas, algoritmos e arquiteturas que lidam com dados on-line ou móveis, conhecidos como dados digitais: seja pontuação de transações, detecção de fraudes, marketing on-line, marketing mix e otimização de publicidade, pesquisa on-line, plágio e detecção de spam, etc.

O que é a ciência de dados comportamental? Confira o nosso artigo aqui!

Vou chamá-lo de Mapeamento de Topologia da Internet. Pode não ser armazenado como um banco de dados tradicional (pode ser um banco de dados gráfico, um sistema de arquivos, ou um conjunto de tabelas de busca). 

Ele deve ser pré-construído (por exemplo, como tabelas de busca, com atualizações regulares) para ser usado eficientemente.

Big Data: 3 dicas para conduzir análises!

Então, o que é o Mapeamento Topológico da Internet?

Essencialmente, é um sistema que combina um endereço IP (Internet ou móvel) com um nome de domínio (ISP). 

Sabe a diferença entre variância e desvio padrão? Confira aqui!

Quando você processa uma transação em tempo real no modo de produção (por exemplo, uma transação on-line com cartão de crédito, para decidir se aceita ou recusa), seu sistema tem apenas alguns milissegundos para marcar a transação para tomar a decisão. 

Em resumo, você tem apenas alguns milissegundos para chamar e executar um algoritmo (sub-processo), na hora, separadamente para cada transação de cartão de crédito, para decidir sobre a aceitação/rejeição. 

Se o algoritmo envolver a correspondência do endereço IP com um nome de domínio ISP (esta operação é chamada de nslookup), ele não funcionará: dns lookups diretos levam entre algumas centenas a alguns milhares de milissegundos, e eles retardarão o sistema a uma moagem.

15 conceitos de data science para iniciantes: veja nosso guia aqui!

Por causa disso, faltam mapeamentos de topologia da Internet na maioria dos sistemas. No entanto, há uma solução muito simples para construí-lo:

A solução

Veja todos os endereços IP em seu banco de dados. As chances são que, mesmo que você seja o Google, 99.9% do seu tráfego é gerado por menos de 100.000.000 de endereços IP. 

De fato, o número total de endereços IP (todo o universo) consiste em menos de 256^4 = 4.294.967.296 endereços IP. Isso é cerca de 4 bilhões, não tão grande de um número no esquema real de Big Data. 

Além disso, muitos endereços IP estão agrupados: 120.176.231.xxx provavelmente farão parte do mesmo domínio, para xxx na faixa (digamos) 124-180. 

Em resumo, você precisa armazenar uma tabela de pesquisa possivelmente tão pequena quanto 20.000.000 registros (faixas IP / mapeamento de domínio) para resolver o problema do nslookup para 99,9% de suas transações. 

Para os restantes 0,1%, você pode atribuir ‘Domínio Desconhecido’ (não recomendado, uma vez que alguns poucos endereços IP realmente têm domínio desconhecido), ou ‘faltando’ (melhor) ou realizar o ‘nslookup’, muito lento na hora.

Crie a tabela que mapeia os intervalos de IP para nomes de domínio, para 99,9% do seu tráfego.

Ao processar uma transação, acesse esta tabela de busca (armazenada na memória, ou pelo menos com algum cache disponível na memória) para detectar o nome de domínio. Agora você pode usar um sistema de regras que incorpora nomes de domínio.

E agora?

Armado com estes componentes (mapeamento de endereço IP / domínio + estrutura de cluster de endereços IP, também conhecido como Topologia da Internet), agora você pode desenvolver algoritmos muito melhores. Você precisa do mapeamento de endereço IP / domínio para construir a estrutura de clusters.

Se você tiver um cientista de dados a bordo, deve ser fácil para ela criar este Mapeamento de Topologia da Internet e identificar os grandes benefícios de usá-lo. 

O único problema com a criação deste produto (assumindo que ele conterá 20.000.000 de intervalos de endereços IP e será atualizado regularmente) é a grande quantidade de tempo gasto em fazer milhões de nslookups muito lentos (0,5 segundos cada um) de homens das cavernas. 

Agora, existem faixas bem conhecidas reservadas para a AOL e outros grandes ISP’s, então provavelmente você acabará fazendo apenas 10.000.000 de nslookups. Uma vez que 15% deles falharão (tempo de espera após 2 segundos) e que você terá que executar nslookup 2x em alguns endereços IP, vamos dizer que, em resumo, você vai executar 10.000.000 nslookups, cada um levando em média 1 segundo. Isso é cerca de 2.777 horas, ou 115 dias.

Você pode usar um ambiente Map Reduce para reduzir facilmente o tempo por um fator 20, alavancando a arquitetura distribuída. 

Mesmo em uma única máquina, se você rodar 25 versões de seu script nslookup em paralelo, você deverá ser capaz de fazê-lo rodar 4 vezes mais rápido, ou seja, ele seria concluído em menos de um mês. 

É por isso que eu afirmo que um cara pequeno sozinho em sua garagem poderia criar o Mapeamento Topológico da Internet em algumas semanas ou menos. O conjunto de dados de entrada (digamos 100.000.000 de endereços IP) exigiria menos de 20 Gigabytes em armazenamento, ainda menos quando comprimido. Bastante pequeno.

Leia sobre as habilidades essenciais que todo cientista de dados deve ter!

Published On: novembro 25th, 2021 / Categories: Inteligência Artificial /

Aprenda a conseguir trabalho

Se inscreva para receber acesso gratuito ao módulo Conseguindo Trabalho!

Obrigado por se inscrever!
Houve um erro ao enviar sua inscrição. Tente novamente mais tarde.

Ao acessar, você concorda em receber nossos comunicados.