Quando pesquiso um arquivo no meu HD no Windows 7 ou Windows XP, leva alguns minutos para concluir o processo. Se eu preencher um termo de pesquisa no Google, a resposta está na minha tela em milissegundos
Como é possível ao Google pesquisar na Internet, que é muitas vezes maior que o meu disco rígido, mais rápido do que o meu sistema operacional pode pesquisar no meu computador? É apenas uma questão de poder de computação e o algoritmo certo?
Respostas:
O Google não está pesquisando na internet: está pesquisando em um índice. O Google possui enormes farms de servidores que estão constantemente digitalizando e indexando a Internet. Esse processo leva muito tempo, assim como a pesquisa no seu disco rígido não indexado. No Windows 7, há uma opção para indexar seus discos rígidos. Esse processo leva algum tempo no início, mas, uma vez instalado e executando os resultados de uma pesquisa, será instantâneo.
Se você quiser saber mais sobre como a pesquisa do Google funciona, leia o artigo " Como a pesquisa funciona " do Google ou o artigo " Como as coisas funcionam: como o Google funciona ".
fonte
O Google é como procurar um endereço nas páginas amarelas (indexado). A pesquisa do Windows é semelhante a verificar números em edifícios (não indexados).
Outra analogia seria procurar uma biblioteca e um catálogo de cartões bem organizados, ou apenas classificar uma pilha de livros desorganizada todas as vezes.
Fundamentalmente, é todo o trabalho organizacional realizado antes da pesquisa que o torna mais rápido.
FYI: Ao pesquisar locais indexados, a pesquisa no Windows pode ser igualmente responsiva.
fonte
O negócio do Google é a pesquisa (e a veiculação de anúncios) e é muito focado nisso. O Google faz várias coisas para garantir que os dados sejam retornados muito rapidamente:
Consulte este link para obter mais informações sobre Como funciona a pesquisa
Comparativamente, uma pesquisa no disco rígido sem um índice precisa ler todos os arquivos da unidade e isso pode levar muito tempo.
Além disso, você pode pensar em um sistema de arquivos e em um índice como uma árvore. No sistema de arquivos, a raiz da árvore é a pasta de nível superior e pode ter ramificações (pastas) ou folhas (arquivos) nessa pasta. Cada ramificação pode ter sub ramificações para mais pastas e folhas para mais arquivos. Para pesquisar nessa estrutura, é necessário 'andar' em todos os galhos (e sub-galhos) para encontrar a folha que você está procurando. Um índice inverte essa hierarquia. A base se torna o alfabeto e todos os sub-ramos aprimoram ainda mais isso. As folhas são o local do item que você está procurando. A pesquisa nessa estrutura permite remover (excluir) grandes seções da árvore (por exemplo, a primeira letra do seu termo de pesquisa permite aparar outras 25 ramificações imediatamente).
fonte
Há cerca de quatro anos, eu também me fiz a mesma pergunta. Mas, enquanto pesquisava no Google, finalmente li que, além do fato de que eles contratam os melhores dos melhores para apresentar alguns dos algoritmos de pesquisa mais sofisticados e tudo isso.
Um dos principais designs que eles usaram é semelhante à idéia de reduzir o mapa, eu acho. Você tem muitos computadores baratos em fazendas. Permita que esses computadores tenham apenas cerca de 80 GB de espaço no disco rígido e se esforce para ter cerca de 16 GB de RAM ou até 32 GB de RAM nesses computadores (o máximo possível). Lembre-se de que eles estão conectados através de um sistema sofisticado que eles projetaram. Mas a idéia principal aqui é que, quando uma consulta é enviada, ela é passada para o sistema deles, onde tentará pesquisar os novos dados na RAM. Lembre-se de que eles têm muitos desses computadores baratos. E como os dados estão na RAM, eles são encontrados muito mais rapidamente do que no disco rígido. Mas não esqueça que eles também têm um sistema sofisticado (indexação e todos esses algoritmos) que ajudam bastante.
E esses dados não precisam ser atualizados, porque todos sabemos que o Google armazena tudo. Portanto, quanto ao que deveria estar na RAM, o mesmo princípio das árvores splay pode ser usado, mantenha o que as pessoas mais pesquisam na RAM e liberte o material menos pesquisado no disco rígido.
Essa pequena idéia, juntamente com a indexação e todas as outras coisas que outras pessoas mencionaram em suas respostas, pode ser um dos motivos pelos quais é mais rápido do que uma pesquisa no disco rígido.
Claro que posso estar errado, mas isso fazia sentido para mim. E fiquei feliz com o que aprendi.
fonte
O Google usa um sistema de indexação extremamente sofisticado, operações paralelas e várias técnicas de balanceamento de carga que não estão disponíveis para um computador autônomo padrão. há realmente muito pouca semelhança entre uma pesquisa na web e uma pesquisa de arquivos no disco rígido, e o google otimiza bastante para seus casos de uso específicos.
fonte
Em 2004, alguns funcionários do Google publicaram um artigo: MapReduce e, a partir de então, eles aprimoraram centenas de vezes.
Além disso, eles usam o Google File System (GFS), que é um sistema de arquivos distribuído como o Hadoop Distribud File System (HDFS) e extremamente otimizado para seus propósitos. Até onde eu sei, o GFS funciona talvez mil vezes mais rápido que o HDFS .
fonte
Eu pensei em acrescentar isso, já que eu também tinha essa pergunta há um tempo e encontrei esses ótimos vídeos que descrevem o que o Google faz na superfície. Interessante de assistir.
Google no Youtube 1
Google no Youtube 2
Ele vai um pouco mais fundo, mas não o suficiente para se perder em detalhes técnicos.
Felicidades.
fonte
Apenas adicionando algo às respostas maravilhosas aqui. O Google usa o cache de frases de pesquisa populares. Os resultados dessas pesquisas residem na memória. Portanto, se você pesquisar algo que é muito pesquisado, os resultados aparecerão quase imediatamente.
fonte
Para responder à pergunta em um nível simplista: imagine que você tenha um livro com um índice de palavras-chave na parte de trás.
Pesquisando em um disco rígido (ingênuo, pelo menos) é como percorrer o livro, página por página, examinando cada linha em busca de uma ocorrência de sua palavra-chave.
Usar um mecanismo de busca na Internet é como procurar a palavra-chave no índice e depois virar diretamente para o número da página que ela fornece.
Na realidade, é claro, é muito mais complexo que isso. Por exemplo, você normalmente pesquisaria no seu disco rígido diferentes tipos de informação que a Internet. Mas o básico a tirar é que o mecanismo de pesquisa está usando um índice. Ele já examinou o "livro", palavra por palavra, e compilou uma lista dessas palavras junto com o local onde encontrá-las, e organizou a lista de modo a poder procurar rapidamente as coisas nela .
Por exemplo, pense na organização de um índice em um livro. Primeiro, ele geralmente é classificado em ordem alfabética e, em segundo lugar, pode ter títulos de letras. Ao procurar uma palavra no índice, você pode ver imediatamente a lista de palavras que começam com a letra desejada. E como a lista é classificada, é fácil encontrar a palavra desejada na lista ou informar rapidamente se ela está ausente.
Então, para resumir, é como se seu disco rígido tivesse apenas um livro, enquanto o mecanismo de pesquisa tivesse o índice. Embora, como alguns outros tenham apontado, é possível usar o software para indexar seu disco rígido, e você pode usá-lo em vez de tudo.
fonte
Acho que um dos motivos pelos quais o Google surgiu
Auto Complete
eAJAX
foi o problema de velocidade. Agora, quando você digita, as palavras são enviadas em segundo plano para que o Google possa fazer parte do trabalho enquanto você ainda não terminou. Os índices também são baseados em várias combinações de palavras (que podem ser encontradas como sugestões na parte inferior da página). Atualmente, a velocidade da rede é maior que os discos rígidos e provavelmente muitos desses índices residem na RAM dos servidores em seu farm.fonte