Lorsque je recherche un fichier sur mon disque dur sous Windows 7 ou Windows XP, le processus prend quelques minutes. Si je remplis un terme de recherche dans Google, la réponse est affichée sur mon écran en millisecondes.
Comment est-il possible pour Google d'effectuer des recherches sur Internet, plusieurs fois plus volumineux que mon disque dur, plus rapidement que mon système d'exploitation ne peut effectuer une recherche sur mon ordinateur? Est-ce seulement une question de puissance de calcul et du bon algorithme?
Réponses:
Google ne cherche pas sur Internet: il cherche un index. Google possède d'énormes batteries de serveurs qui analysent et indexent en permanence Internet. Ce processus prend beaucoup de temps, tout comme la recherche de votre disque dur non indexé. Dans Windows 7, il existe une option pour indexer vos disques durs. Ce processus prend un certain temps au début, mais une fois lancé, les résultats d’une recherche seront instantanés.
Si vous souhaitez en savoir plus sur le fonctionnement de la recherche Google, vous pouvez lire l'article de Google intitulé " How Search Works " ou l'article " Comment ça marche? Comment fonctionne Google ".
la source
Google, c'est comme chercher dans les pages jaunes une adresse (indexée). La recherche Windows s'apparente à vérifier les numéros des bâtiments (non indexés).
Une autre analogie consisterait à parcourir une bibliothèque bien organisée et un catalogue de cartes, ou simplement à trier une pile de livres non organisée à chaque fois.
Fondamentalement, c'est tout le travail organisationnel effectué avant la recherche qui accélère les choses.
FYI: Lorsque vous recherchez des emplacements indexés, la recherche Windows peut être tout aussi réactive.
la source
L’activité de Google est la recherche (et la diffusion d’annonces) et elle est très axée sur cela. Google veille à ce que vos données vous soient renvoyées très rapidement:
Consultez ce lien pour plus d'informations sur le fonctionnement de Search
Comparativement, une recherche sur un disque dur sans index doit lire tous les fichiers du lecteur, ce qui peut prendre beaucoup de temps.
De plus, vous pouvez considérer un système de fichiers et un index comme une arborescence. Dans le système de fichiers, la racine de l'arborescence est le dossier de niveau supérieur et il peut contenir des branches (dossiers) ou des feuilles (fichiers) dans ce dossier. Chaque branche peut avoir des sous-branches pour plus de dossiers et des feuilles pour plus de fichiers. Pour rechercher cette structure, vous devez «marcher» sur toutes les branches (et sous-branches) pour trouver la feuille que vous recherchez. Un index renverse cette hiérarchie. La base devient l'alphabet et toutes les sous-branches sont affinées. Les feuilles sont l'emplacement de l'article que vous recherchez. La recherche dans cette structure vous permet d’élaguer (exclure) de grandes sections d’arbre (par exemple, la première lettre de votre terme de recherche vous permet de couper immédiatement 25 autres branches).
la source
Il y a environ 4 ans, je me suis également posé la même question. Mais lorsque je cherchais dans mes recherches, je finis par lire que, outre le fait qu’ils embauchent les meilleurs des meilleurs pour proposer des algorithmes de recherche parmi les plus sophistiqués et tout le reste.
L'un des concepts clés qu'ils ont utilisés est similaire à l'idée de carte réduire, je pense. Vous avez beaucoup d'ordinateurs bon marché dans les fermes. Laissez ces ordinateurs ne disposent que d’environ 80 Go d’espace sur le disque dur et appuyez fort pour obtenir environ 16 Go de RAM, voire mieux 32 Go de RAM sur ces ordinateurs (autant que possible). N'oubliez pas qu'ils sont connectés via un système sophistiqué qu'ils ont conçu. Mais l’idée principale ici est que lorsqu’une requête est soumise, elle est transmise à son système où elle essaiera de rechercher les nouvelles données dans la RAM. Gardez à l'esprit qu'ils ont beaucoup de ces ordinateurs bon marché. Et comme les données sont en RAM, elles se retrouvent beaucoup plus rapidement que sur un disque dur. Mais n'oubliez pas qu'ils ont également un système sophistiqué (indexation et tous ces algorithmes) qui l'aide beaucoup.
Et ces données ne doivent pas nécessairement être récentes, car nous savons tous que Google stocke tout. En ce qui concerne ce qui devrait être dans la RAM, le même principe peut être utilisé avec les arbres splay, gardez ce que les gens recherchent le plus dans la RAM et videz les fichiers les moins recherchés sur le disque dur.
Cette petite idée, associée à leur indexation et à toutes les autres choses que d'autres ont mentionnées dans leurs réponses, pourrait être l'une des raisons pour lesquelles elle est plus rapide qu'une recherche sur disque dur.
Bien sûr, je peux me tromper, mais cela me semblait logique. Et j'étais content de ce que j'ai appris.
la source
Google utilise un système d'indexation extrêmement sophistiqué, des opérations en parallèle et un certain nombre de techniques d'équilibrage de charge non disponibles sur un ordinateur autonome standard. il y a vraiment très peu de similitude entre une recherche Web et une recherche de fichier sur disque dur, et Google optimise fortement pour leurs cas d'utilisation spécifiques.
la source
En 2004, certains employés de Google ont publié un article: MapReduce et l’ont amélioré des centaines de fois plus tard.
En outre, ils utilisent le système de fichiers Google (GFS), qui est un système de fichiers distribué tel que le système de fichiers Hadoop Distribud (HDFS) et extrêmement optimisé pour leurs objectifs. Aussi, autant que je sache, GFS fonctionne peut-être mille fois plus vite que HDFS .
la source
J'ai pensé ajouter quelque chose à cela puisque j'avais moi aussi cette question il y a un moment et que j'ai trouvé ces superbes vidéos qui décrivent ce que Google fait à la surface. Intéressant à regarder.
Google sur Youtube 1
Google sur Youtube 2
Il va un peu plus en profondeur, mais pas assez pour que vous vous perdiez dans les détails techniques.
À votre santé.
la source
Il suffit d'ajouter quelque chose aux merveilleuses réponses ici. Google utilise la mise en cache des expressions de recherche populaires. Les résultats de ces recherches résident dans une mémoire. Donc, si vous recherchez quelque chose qui fait l'objet de nombreuses recherches, les résultats apparaîtront presque immédiatement.
la source
Pour répondre à la question à un niveau simpliste: imaginez que vous ayez un manuel avec un index de mots-clés à la fin.
Rechercher un disque dur (au moins naïvement) revient à parcourir le livre, page par page, en balayant chaque ligne pour rechercher une occurrence de votre mot clé.
Utiliser un moteur de recherche Internet revient à chercher le mot-clé dans l'index, puis à regarder directement le numéro de page indiqué.
En réalité, c'est beaucoup plus complexe que cela. Par exemple, vous rechercherez généralement sur votre disque dur des types d’informations autres que l’Internet. Mais l'essentiel, c'est que le moteur de recherche utilise un index. Il a déjà parcouru le "livre" mot à mot et il a dressé une liste de ces mots et indique où les trouver. Il a organisé la liste de manière à pouvoir y rechercher très rapidement des éléments. .
Par exemple, pensez à l'organisation d'un index dans un livre. Premièrement, il est généralement trié par ordre alphabétique, et deuxièmement, il peut avoir des en-têtes de lettres. Lorsque vous recherchez un mot dans l'index, vous pouvez voir immédiatement la liste des mots commençant par la lettre souhaitée. Et comme la liste est triée, il est facile de trouver le mot que vous voulez dans la liste, ou de dire rapidement s'il manque.
Donc, pour résumer, c'est comme si votre disque dur avait juste un livre, alors que le moteur de recherche avait l'index. Cependant, comme l'ont déjà souligné d'autres personnes, il est possible d'utiliser un logiciel pour indexer votre disque dur. Vous pouvez ensuite utiliser l'index au lieu de l'intégralité.
la source
Je suppose que l’une des raisons pour lesquelles Google a émergé
Auto Complete
et utiliséAJAX
est le problème de la vitesse. Désormais, lorsque vous tapez, les mots sont envoyés en arrière-plan afin que Google puisse effectuer une partie du travail pendant que vous n’avez pas encore terminé. Les index sont également basés sur plusieurs combinaisons de mots (que vous pouvez trouver sous forme de suggestions au bas de la page). Actuellement, la vitesse du réseau est supérieure à celle des disques durs et une grande partie de ces index réside probablement dans la RAM des serveurs de leur batterie.la source