Google : d'une recherche aux résultats, en passant par un index de 100 000 To

Google : d’une recherche aux résultats, en passant par un index de 100 000 To

30 000 milliards de pages et moi, et moi et moi...

Avatar de l'auteur
Sébastien Gavois

Publié dans

Internet

04/03/2013 2 minutes
52

Google : d'une recherche aux résultats, en passant par un index de 100 000 To

Google vient de mettre en ligne une infographie interactive afin de détailler un peu le principe de fonctionnement de son moteur de recherche. Le géant du web en profite pour dévoiler au passage quelques chiffres qui donnent le vertige : 30 000 milliards de pages web sont référencées via un index qui occupe 100 000 To.

Google Search

 

Google a décidé de donner quelques informations sur son moteur de recherche et, pour cela, le géant du web a mis en place une infographie interactive baptisée : « How Search Works. From algorithms to answers » (Comment fonctionne la recherche. Des algorithmes aux réponses). 

 

Bien évidemment, cela commence par naviguer sur le net afin de récupérer un maximum de données. Google indique référencer ainsi 30 000 milliards de pages web (soit plus de 4 000 par être humain) au sein d'un index qui occupe 100 000 To d'espace de stockage, excusez du peu.

 

Lorsque vous saisissez une requête, Google va d'abord se servir d'algorithmes maison afin de mieux comprendre votre demande (autocomplétion, correction orthographique, étude des synonymes, etc.). Les pages intéressantes sont ensuite récupérées via l'index dont nous vous parlions, avant d'être triées en fonction de divers critères : « qualité » du site et de la page, ancienneté sur le web, géolocalisation, etc.

 

Au final, Google annonce qu'entre le moment où vous validez votre recherche et celui où il vous retourne les résultats correspondants, il ne se passe que 0,125 seconde.

 

Google Search

 

Une troisième partie s'intéresse enfin à la gestion du spam et aux différentes actions mises en place pour en supprimer un maximum, et ce, de manière automatique. 

 

Bien évidemment, l'ensemble est schématisé et largement simplifié, mais les chiffres annoncés n'en restent pas moins intéressants. N'hésitez pas à cliquer sur les éléments qui composent cette infographie afin d'obtenir des détails sur certains points.

Écrit par Sébastien Gavois

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Fermer

Commentaires (52)




Google indique référencer ainsi 30 000 milliards de pages web

[…]

Au final, Google annonce qu’entre le moment où vous validez votre recherche et celui où il vous retourne les résultats correspondants, il ne se passe que 0,125 seconde.





<img data-src=" /><img data-src=" /><img data-src=" />





Edit : j’adore le “Cats” qui remonte sur une recherche “string theory” <img data-src=" />


Les chiffres, ça impressionne toujours <img data-src=" />


sans parler du nombre de serveurs de recherche ainsi que ceux de secours et tout ce qui va avec….Je me demande combien ils ont dépensé rien qu’en PCs…<img data-src=" />








Spezetois a écrit :



Les chiffres, ça impressionne toujours <img data-src=" />







Ce qui m’impressionne c’est comment la page est foutu <img data-src=" />

Des oufs chez google









RinSa a écrit :



Ce qui m’impressionne c’est comment la page est foutu <img data-src=" />

Des oufs chez google





<img data-src=" /> Cela ne marche pas (ou mal) sur Opera.









Jarodd a écrit :



<img data-src=" /><img data-src=" /><img data-src=" />





Edit : j’adore le “Cats” qui remonte sur une recherche “string theory” <img data-src=" />







C’est marrant, en utilisant FF, les “cats” ne sont pas apparu sur l’infographie.

Et sur IE10, y’a rien qui s’affiche quand je clique dessus, donc pas moyen de savoir pour “cats” ressort sur cette requete <img data-src=" />





Bien évidemment, l’ensemble est schématisé et largement simplifié





En effet et c’est dommage, j’aurais préféré qu’ils nous parlent de MapReduce, BigTable, GoogleFS …


Sinon j’adore à la fin la partie sur le combat du SPAM.

Dans ce cas la pourquoi ne pas inclure dans leur infographie leur méthode de collecte des données personnelles et de gestion des cookies lors de nos recherches ?



En gros une bien belle pub’ qui reste ce qu’elle est: une pub…


4.000 pages par être humain. Comme quoi il y a du doublon et des pages inutiles.








knos a écrit :



4.000 pages par être humain. Comme quoi il y a du doublon et des pages inutiles.







Cf la partie sur le SPAM <img data-src=" />









bzc a écrit :



En effet et c’est dommage, j’aurais préféré qu’ils nous parlent de MapReduce, BigTable, GoogleFS …





C’est ce que j’espérais également au vu de l’illustration de l’article. Malheureusement leur animation est dépourvue d’intérêt à mes yeux.









bzc a écrit :



En effet et c’est dommage, j’aurais préféré qu’ils nous parlent de MapReduce, BigTable, GoogleFS …





C’est une présentation de com grand public.



Mais bon je pense qu’on donnerait tous beaucoup ici pour voir comment ça marche de l’intérieur.









Bill2 a écrit :



C’est marrant, en utilisant FF, les “cats” ne sont pas apparu sur l’infographie.







J’ai le Cats sur Firefox 19.0.



30 Trillions de pages webs pour un index de 100 000 To.

…. ça fait beaucoup de données par page web.


Le chat dans la théorie des cordes<img data-src=" />








Jarodd a écrit :



J’ai le Cats sur Firefox 19.0.







Je viens de retenter sur FF19.0 et toujours pas …

Et je viens de relancer sur IE10, et je ne l’ai plus <img data-src=" />



“By the way, in the 452 seconds you’ve been on this page, approximately

17,438,160 searches were performed.”



Ah ouais, quand même…


Quand on y pense c’est quand meme la folie, Google télécharge littéralement internet pour faire son indexation, pas juste une ou deux pages par ci par la, Internet dans sa globalité, et les 100 000to c’est juste pour l’indexation, brrrrrrr








bzc a écrit :



En effet et c’est dommage, j’aurais préféré qu’ils nous parlent de MapReduce, BigTable, GoogleFS …





De même, je me demande bien comment en moins de 0.5sec, ils arrivent à interroger stratégiquement leur base de donnée. Mon ordi pédale pour faire moins bien et portant les dossiers sont indexés



Je trouve ces chiffres un peu décourageant pour toute les sociétés qui souhaiteraient créer un nouveau moteur de recherche :-(








mononokehime a écrit :



Quand on y pense c’est quand meme la folie, Google télécharge littéralement internet pour faire son indexation, pas juste une ou deux pages par ci par la, Internet le Web public dans sa globalité, et les 100 000to c’est juste pour l’indexation, brrrrrrr







<img data-src=" />









bombo a écrit :



Je trouve ces chiffres un peu décourageant pour toute les sociétés qui souhaiteraient créer un nouveau moteur de recherche :-(





Surtout quand tu vois la gueule du dernier née français Qwant



C’est quoi comme techno leur système de BDD d’ailleurs ?



C’est du maison ou ils utilisent quelque chose qui existe ?








Zod a écrit :



C’est quoi comme techno leur système de BDD d’ailleurs ?



C’est du maison ou ils utilisent quelque chose qui existe ?







Même si c’est du maison, ça “existe”. <img data-src=" />









Bill2 a écrit :



C’est marrant, en utilisant FF, les “cats” ne sont pas apparu sur l’infographie.

Et sur IE10, y’a rien qui s’affiche quand je clique dessus, donc pas moyen de savoir pour “cats” ressort sur cette requete <img data-src=" />







Il y a plusieurs schéma.









Zod a écrit :



C’est quoi comme techno leur système de BDD d’ailleurs ?



C’est du maison ou ils utilisent quelque chose qui existe ?







C’est du maison.



Ils ne communiquent pas énormément sur les détails mais si tu veux faire quelques recherches ils utilisent un DBMS maison nommé BigData sur un FileSystem maison GFS, et ils utilisent un algo maison MapReduce pour l’indexation.



Tout ça n’étant évidemment pas sous GPL … et on dit que Google promeut le l’OpenSource … (Comment ça c’est pas vendredi ?)









Zod a écrit :



C’est quoi comme techno leur système de BDD d’ailleurs ?



C’est du maison ou ils utilisent quelque chose qui existe ?





Aucun SGBD existant ne permettrait de répondre à leurs besoins, que ce soit en termes de perfs ou de fonctionnalités.







bzc a écrit :



et ils utilisent un algo maison MapReduce pour l’indexation.





Map-reduce est plutôt leur système de distribution des calculs sur les données si j’ai bien compris. Ou comment répartir des opérations sur des milliers de To de données réparties sur des millions de serveurs. Ce qui doit servir pour tout, de l’indexation à la recherche en passant par le datamining de nos données persos.









tazvld a écrit :



De même, je me demande bien comment en moins de 0.5sec, ils arrivent à interroger stratégiquement leur base de donnée. Mon ordi pédale pour faire moins bien et portant les dossiers sont indexés







Il faudrait rechercher où cela est dit mais à ma connaissance, google stocke son index sur la ram pour accélérer la recherche (à voir si c’est encore d’actualité avec les ssd)



Et si tu fais du mirroring sur des grappes de servers (ie de ram), ben ça va encore plus vite…

Par contre, faut pas demander le nombre de machines qu’ils ont… <img data-src=" />









bzc a écrit :



Tout ça n’étant évidemment pas sous GPL … et on dit que Google promeut le l’OpenSource … (Comment ça c’est pas vendredi ?)







Je ne vois pas en quoi garder secrètes les technos de leur coeur de métier, tout en finançant/participant de nombreux projets OS, revient à dire que Google ne promeut pas l’OS…









NiCr a écrit :



Je ne vois pas en quoi garder secrètes les technos de leur coeur de métier, tout en finançant/participant de nombreux projets OS, revient à dire que Google ne promeut pas l’OS…





C’était un petit troll mignon, t’es tombé dedans <img data-src=" />



Si non pour les serveurs il me semble que c’était dans l’ordre des centaines de milliers et pas millions non ?









RaYz a écrit :



C’était un petit troll mignon, t’es tombé dedans <img data-src=" />



Si non pour les serveurs il me semble que c’était dans l’ordre des centaines de milliers et pas millions non ?





On sait pas trop … Il y a des sources qui disent que ça a dépassé le million, tiens il y a cette infographie marrante : http://www.kinox-fr.com/images/internet/Serveurs-web-Google.png



C’est toujours ce temps de réponse qui m’a impressionné: comment traiter toutes ces données aussi rapidement?


Ce qui fait tourner la tête, c’est quand on se dit qu’il y a youtube aussi.








phi1981 a écrit :



30 Trillions de pages webs pour un index de 100 000 To.

…. ça fait beaucoup de données par page web.







3Mo par page environ, je ne trouve pas ça délirant (voila pourquoi je met autant de temps pour afficher une page en EDGE <img data-src=" /> )<img data-src=" />



Le 04/03/2013 à 12h 41







bzc a écrit :



C’est du maison.



Ils ne communiquent pas énormément sur les détails mais si tu veux faire quelques recherches ils utilisent un DBMS maison nommé BigData sur un FileSystem maison GFS, et ils utilisent un algo maison MapReduce pour l’indexation.



Tout ça n’étant évidemment pas sous GPL … et on dit que Google promeut le l’OpenSource … (Comment ça c’est pas vendredi ?)







Toi t’as pas compris grand chose sur l’open source/libre apparement









jinge a écrit :



C’est toujours ce temps de réponse qui m’a impressionné: comment traiter toutes ces données aussi rapidement?







salut

on se dit : que “Google” pourrait prendre son temps (3..4 sec.), ET nous donner

des liens plus en rapport avec la requete demandée !



(parce-que, c’est vraiment “Général” le résultat, excépté la “Rech. avancée”)<img data-src=" />









jinge a écrit :



C’est toujours ce temps de réponse qui m’a impressionné: comment traiter toutes ces données aussi rapidement?





Comment arrives-tu à trouver en dix secondes le mot qui t”intéresse dans un dictionnaire de 10k mots ? L’ordonnancement, les tables des matières, etcétéra, ce sont les mêmes concepts qui sont employés par les logiciels.



Attention : porno pour geek détaillant la structure de l’index de Google.







mononokehime a écrit :



Quand on y pense c’est quand meme la folie, Google télécharge littéralement internet pour faire son indexation, pas juste une ou deux pages par ci par la, Internet dans sa globalité, et les 100 000to c’est juste pour l’indexation, brrrrrrr





En fait les indexes textuels ont tendance à peser très lourd, souvent pas très loin de la taille du contenu indexé lui-même.







tazvld a écrit :



De même, je me demande bien comment en moins de 0.5sec, ils arrivent à interroger stratégiquement leur base de donnée. Mon ordi pédale pour faire moins bien et portant les dossiers sont indexés





La différence est que MS a sans doute cherché à utiliser le moins d’espace disque possible quand Google a privilégié la vitesse. Ça et le fait que beaucoup de données doivent être en mémoire.









yeti4 a écrit :



salut

on se dit : que “Google” pourrait prendre son temps (3..4 sec.), ET nous donner

des liens plus en rapport avec la requete demandée !



(parce-que, c’est vraiment “Général” le résultat, excépté la “Rech. avancée”)<img data-src=" />





100% d’accord ! Surtout depuis la disparition de la recherche avancée, justement ! Avant on pouvait très facilement mettre un ‘+’ devant un terme qu’on voulait absolument trouver dans les résultats, un ‘-’ pour un à ignorer au contraire, des parenthèses et “OR” pour proposer des alternatives, c’était simple et efficace !

Mais ça, c’était avant “Google+”, à cause du ‘+’ justement ils ont viré tout ça pour revenir à de la recherche de base, bête et méchante, qui retourne quarante-douze mille résultats au milieu desquels se trouvent peut-être ceux qui t’intéressent… :-( Trop bête !!









blaigle a écrit :



100% d’accord ! Surtout depuis la disparition de la recherche avancée,





pas de quoi



pas disparition, relégation loin des yeux de la majorité des utilisateurs qui ne l’utilisait pas, plutôt (même si les raccourci + OR, AND etc sont bien pratiques… comme tu le dis, l’apparition de caractères non-alphanumériques dans les noms est une plaie)









blaigle a écrit :



100% d’accord ! Surtout depuis la disparition de la recherche avancée







http://www.google.fr/advanced_search



<img data-src=" /><img data-src=" />





Lorsque vous saisissez une requête, Google va d’abord se servir d’algorithmes maison afin de mieux comprendre votre demande (autocomplétion, correction orthographique, étude des synonymes, etc.).



Rah qu’est-ce que je déteste ça qu’il corrige automatiquement sans demander ton avis <img data-src=" /> !

Du coup il m’arrive souvent d’avoir des résultats sans aucun rapport avec ce que je recherche. Un exemple bidon (référence à la news de 14:44 <img data-src=" />), je cherche des étais en solde, il me sort ça : https://www.google.fr/search?q=solde+étai (et cliquer sur “Essayez avec l’orthographe solde étai” donne le même genre de résultats avec juste “été” qui n’est plus mis en gras <img data-src=" /> ).








HarmattanBlow a écrit :



Comment arrives-tu à trouver en dix secondes le mot qui t”intéresse dans un dictionnaire de 10k mots ? L’ordonnancement, les tables des matières, etcétéra, ce sont les mêmes concepts qui sont employés par les logiciels.

.





Ici on ne parle pas de 10k mots mais beaucoup plus dans la mesure où il faut prendre chaque langue + les mots qui n’existent pas/sont pal orthographiés…

Chacun de ces mots renvoie plusieurs centaines de millions de résultats, et croiser c’est bien ces opérations que je trouve hallucinantes.

Qu’il y ait des index ou non, le nombre de résultats fait que la recherche devrait être plus longue (sauf que non <img data-src=" /> )









jinge a écrit :



Ici on ne parle pas de 10k mots mais beaucoup plus dans la mesure où il faut prendre chaque langue + les mots qui n’existent pas/sont pal orthographiés…

Chacun de ces mots renvoie plusieurs centaines de millions de résultats, et croiser c’est bien ces opérations que je trouve hallucinantes.

Qu’il y ait des index ou non, le nombre de résultats fait que la recherche devrait être plus longue (sauf que non <img data-src=" /> )







C’est évidemment de la simplification à outrance, mais en gros si tu as 50 feuilles et que tu veux savoir le plus rapidement possible dans quel page est le mot X, tu demandes à 50 amis de lire chacun une feuille et te donner les feuilles qui ont ce mot X.



C’est le même processus de parallélisation (ses amis sont des centaines de milliers de serveurs) qu’utilise Google, couplé avec de l’indexation , du cache (avec des chiffres au hasard je dirais que les les 34 de tes requêtes font parties des 15% des requêtes les plus demandés donc pas besoin de recalculcer à chaque fois, au moins pour ces requêtes).









razcrambl3r a écrit :



3Mo par page environ, je ne trouve pas ça délirant (voila pourquoi je met autant de temps pour afficher une page en EDGE <img data-src=" /> )<img data-src=" />







Euh, chez moi ça fait 3ko par page <img data-src=" /> <img data-src=" />









NiCr a écrit :



http://www.google.fr/advanced_search



<img data-src=" /><img data-src=" />





Ah, MERCI, ça me manquait bien, ça. Pas la panacée, mais bien pratique tout de même !



<img data-src=" /> <img data-src=" />



Car ce n’est PLUS accessible depuis la page par défaut… <img data-src=" />









jinge a écrit :



Ici on ne parle pas de 10k mots mais beaucoup plus dans la mesure où il faut prendre chaque langue + les mots qui n’existent pas/sont pal orthographiés…

Chacun de ces mots renvoie plusieurs centaines de millions de résultats, et croiser c’est bien ces opérations que je trouve hallucinantes.

Qu’il y ait des index ou non, le nombre de résultats fait que la recherche devrait être plus longue (sauf que non <img data-src=" /> )





Voilà comment faire un Google. Ce n’est sans doute pas le fonctionnement de Google mais il y a nécessairement des simililtudes.



Disons qu’il y a un million de mots enregistré par Google. Le serveur sur lequel tu débarques n’a donc besoin que d’un index (appelons-le index d’entrée) de quelques dizaines voire centaines de méga-octets pour connaître pour chaque mot les serveurs qui possèdent les listes de sites contenant ce mot (l’index “mot”). Autrement ce petit index d’entrée suffit à dire quel ordinateur contient les quelques ko ou Mo de l’index “mot” parmi les centaines de milliers de To stockés sur les millions de serveurs.



Jusque là c’est un jeu d’enfants (si on oublie la redondance, la résistance aux pannes, le correction d’erreurs dans la requête, les synonymes, les sens multiples pour un mot, l’identification du sens correct en fonction de tes recherches habituelles, etc). Afficher les pages par pertinence n’est pas beaucoup plus difficile car cela a été fait au préalable : l’index “mot” contient déjà toutes les pages triées par pertinence pour ce mot et si tu souhaites la troisième page il est aisé de récupérer les numéros 30 à 40 sans avoir à lire ce qui précède. Et comme personne les résultats mal notés sont très rarement, chaque serveur pour les indexes “mot” contient 99% de données rarement demandées, on pourra donc garder le 1% important en mémoire..



Maintenant le cas des requêtes à plusieurs mots est plus délicat : pour chaque mot il peut y avoir des millions de pages. Pour chacune il ne nous faut qu’un identifiant de 16 octets (et quelques autres infos pour le tri mais ce n’est que tout à la fin, une fois les dix pages retenues sélectionnées, qu’on requiérera les url). Considérons une requête à deux mots avec un million de résultats chacun. Deux solutions naïves pour comprendre la vraie solution expliquée plus loin :

* Récupérer les millions de page triées par leur identifiant. Le croisement est alors simple (l’affaire de quelques ms) mais on se retrouverait avec de très nombreux résultats à trier et, là, on explose le budget CPU.

* Récupérer les millions de pages triées par note. Le problème est alors inversé, c’est le croisement qui est hors-budget.



En réalité plusieurs éléments de solutions à ça :

* On mélange les deux solutions naïves, ce qui fait qu’il faut deux index “mot” par mot, triés différemment.

* Au lieu de s’embêter à rapatrier des millions de pages, on triche sur le tri. Par exemple on considère que les 100 premières pages sont constituées des 50 premières du premier mot et des 50 suivantes du second mot. Du coup on ne rapatrie que très peu de données et le croisement puis le tri sont un jeu d’enfants. La mémoire, la bande passante réseau, le CPU et le disque dur du serveur “mot” sont épargnés et le résultat est bon pour l’utilisateur, vraisemblablement proche du résultat exact.

* En plus de l’index d’entrée il faut un autre index donnant les mots qui suivent généralement. Ces séquences doivent être traitées comme des mots en eux-mêmes avec leurs propres index “mot”. On enregistre donc un index “mot” pour “hymne à la joie” contenant toutes les pages avec cette séquence de mots. Ainsi on pourra obtenir une meilleure pertinence pour “hymne à la joie” qu’en combinant “hymne” et “joie”.



Et j’en passe et des meilleures, notamment tout l’aspect du tri des résultats finaux en fonction du profil de l’utilisateur.









bzc a écrit :



C’est évidemment de la simplification à outrance, mais en gros si tu as 50 feuilles et que tu veux savoir le plus rapidement possible dans quel page est le mot X, tu demandes à 50 amis de lire chacun une feuille et te donner les feuilles qui ont ce mot X.



C’est le même processus de parallélisation (ses amis sont des centaines de milliers de serveurs) qu’utilise Google, couplé avec de l’indexation , du cache (avec des chiffres au hasard je dirais que les les 90% de tes requêtes font parties des 5% des requêtes les plus demandés donc pas besoin de recalculcer à chaque fois, au moins pour ces requêtes).





<img data-src=" />



Google est devenu un fournisseur d’url pour les noobs…

Dans l’ordre :

google.fr (oui des gens tape google dans la barre de recherche <img data-src=" />)

facebook.com

twitter.com

[insérerez un site très connu]





30 000 milliards de pages





C’est l’équivelent du gouvernement pour la lutte contre le chomage <img data-src=" />








tiranor a écrit :



Euh, chez moi ça fait 3ko par page <img data-src=" /> <img data-src=" />







Ah oui en effet, Oups, pourtant j’m’étais déja retourné le cerveau pour arriver à ça <img data-src=" />



ce qui m’impressionne c’est qu’en France on est pas foutu de faire un moteur semblable ?



me dites pas que tous les mathématicien/analystes de la Terre sont chez Google ?

bon ils ont aussi peut être autre chose à faire mais c’est extraordinairement important !








Superambre a écrit :



ce qui m’impressionne c’est qu’en France on est pas foutu de faire un moteur semblable ?



me dites pas que tous les mathématicien/analystes de la Terre sont chez Google ?

bon ils ont aussi peut être autre chose à faire mais c’est extraordinairement important !





Y a surtout que pour concurrencer Google, il va falloir dépenser des sommes considérables.



non je ne pense pas, bien au contraire, il suffit du moteur de recherche, après c’est comme google , avec le fric de la pub tu mets + de serveurs etc



enfin techniquement je vois ça comme ça, mais plus la partie politique qu’il faudrait développer