La plupart des internautes du monde utilisent Google comme moteur de recherche. Mais ils ne savent pas les systèmes, procédés et expériences qui se cachent dans l’ombre de l’algorithme. Et pourtant Google est un véritable laboratoire scientifique où les meilleurs ingénieurs cherchent sans cesse à améliorer les signaux permettant de mieux classer les sites et leurs pages parmi une quantité incroyable de documents que constituent le world wide web.
En effet, un internaute demande à en savoir un peu plus sur des outils aux noms barbares.[clear]
Pouvez-vous fournir quelques détails sur la manière que Google utilise les outils Percolator, Dremel et Pregel ?
La réponse à cette question n’est pas simple, on rentre dans des domaines de compréhension basés sur les mathématiques. Le challenge de chaque ingénieur chez Google est de découvrir un élément plus efficace dans l’algorithme. Pour ce faire, ils utilisent des outils permettant de faire un grand nombre d’expériences et de tests.
Les outils Percolator, Dremel et Pregel
[accordions]
[accordion title=”Percolator”]Système de mise à jour des données en flux continu
Afin de mieux comprendre ce que Percolator apporte dans le processus d’indexation chez Google, on peut faire comme Matt une analogie avec le train et le taxi.
Dans le passé avant Caffeine, l’algorithme réalisait les mises à jour par lot, planifiées pour intervenir à une date et heure précise. Comme un train, si on ratait l’horaire, il fallait attendre le prochain lot d’indexation pour que les mises à jour soient prises en compte.
Avec Percolator (nom de l’outil au sein de Caffeine), le système adapte ces MAJ en fonction du besoin. De ce fait, il agit un peu comme un taxi qui récupère les passagers au moment voulu.
L’indexation était réalisée par lot avant Caffeine, alors qu’elle est incrémentale depuis.
La doc technique en anglais sur Percolator (pdf)
[/accordion]
[accordion title=”Dremel “]Outil d’analyse et d’extraction rapide de requêtes sur les fichiers de données du web
Si vous avez déjà mis les main dans une base de données, vous savez que selon sa taille, une requête peut prendre quelques minutes avant de renvoyer des résultats.
Dremel est une architecture de base de données permettant de faire un grand nombre de requêtes à l’image de la taille du web, soit 1000 milliards de requêtes à la seconde.
Cet outil est utilisé en interne pour faire des extractions souhaitées et analyser les données récoltées.
La doc technique en anglais sur Dremel (pdf)
[/accordion]
[accordion title=”Pregel “]Outil de lecture de Graph à grande échelle
Les graphs sont les relations entre des éléments, comme le montre l’image ci-contre. Les points sont reliés par des traits (les backlinks). Néanmoins, la firme de Google a d’ailleurs popularisé le terme de graph avec le Knowledge graph.
Pregel est l’outil qui permet d’établir très rapidement les relations entre les différents éléments du web. De ce fait, pour que ce soit possible, il faut une infrastructure capable de mettre en relation très rapidement ces éléments et les classer sous forme de library, afin d’en faciliter l’accès ultérieur.
D’après l’article Googleresearch de 2009, l’implémentation du Page Rank ne nécessite que 15 lignes de code du fait de cette structure efficiente. Comme s’amuse à préciser Matt, ces 15 lignes ont probablement coûté très chères.
[/accordion]
[/accordions]
Les ingénieurs chez Google se servent de ces outils pour expérimenter en continu de nouvelles façons d’explorer le web et classer les pages. De plus, lorsque des améliorations sont mis en avant grâce à ces expériences, elles sont testées selon des protocoles et parfois implémenter dans l’algorithme tel qu’on le connait.
Ce qui fait d’ailleurs que Google cherche toujours à avoir une mesure d’avance sur ses concurrents.