web-dev-qa-db-fra.com

Quelles technologies de base de données les gros moteurs de recherche utilisent-ils?

Est-ce que quelqu'un sait comment Google ou Yahoo effectuent des recherches de mots clés contre des quantités de données très très importantes? Quel type de base de données ou de technologies emploient-ils pour cela?

Cela prend quelques millisecondes, mais ils ont plus d'un milliard de pages indexées.

32
rkosegi

Je suis sûr qu'il y a une combinaison de choses:

  • matériel sérieux
  • beaucoup - les données sont distribuées et répliquées sur de nombreux nœuds et différents centres de données

    • (en fait, dans le cas de Google au moins, je pense qu'ils ont des milliers et des milliers de serveurs vraiment bas de gamme)
  • de nombreux résultats de requêtes courantes sont mis en cache, notez comment ils préremplissent les recherches potentielles pour des choses que vous ne connaissez pas auparavant; ils prédisent ce que vous pourriez rechercher et espèrent qu'ils ont déjà votre résultat pré-calculé et mis en cache quelque part. Dans de nombreux cas, ils le font - il n'y a pas beaucoup de recherches que vous pourriez trouver sur Google aujourd'hui qui n'ont pas été posées par quelqu'un avant vous. Lorsqu'ils obtiennent une nouvelle expression de recherche, ils utilisent probablement quelque chose comme la recherche en texte libre - et je m'attends à ce que les mots clés soient extraits sémantiquement lors de la première exploration d'une page plutôt que d'essayer de trouver des mots clés dans le document après les avoir recherchés . Bien sûr, ils doivent périodiquement invalider ces caches, recalculer le classement des pages et distribuer les nouveaux résultats mis en cache dans leur cache - et je suis sûr qu'il y a beaucoup d'ingénierie sérieuse derrière cela.
21
Aaron Bertrand

Pigeons .

Le cœur de la technologie de recherche de Google est PigeonRank ™, un système de classement des pages Web développé par les fondateurs de Google Larry Page et Sergey Brin à l'Université de Stanford:

enter image description here

S'appuyant sur le travail révolutionnaire de BF Skinner, Page et Brin ont estimé que des groupes de pigeons (PC) à faible coût pouvaient être utilisés pour calculer la valeur relative des pages Web. plus rapide que les éditeurs humains ou les algorithmes basés sur la machine. Et tandis que Google compte des dizaines d'ingénieurs travaillant à améliorer chaque aspect de notre service au quotidien, PigeonRank continue de fournir la base de tous nos outils de recherche sur le Web.

Pourquoi le PigeonRank ™ breveté de Google fonctionne si bien

Le succès de PigeonRank repose principalement sur la meilleure aptitude à l'entraînement du pigeon domestique (Columba livia) et son capacité unique de reconnaître des objets quelle que soit l'orientation spatiale. Le pigeon gris commun peut facilement distinguer les éléments affichant uniquement les moindres différences, une capacité qui lui permet de sélectionner des sites Web pertinents parmi des milliers de pages similaires.

En collectant des troupeaux de pigeons en grappes denses, Google est en mesure de traiter les requêtes de recherche à des vitesses supérieures aux moteurs de recherche traditionnels, qui s'appuient généralement sur des oiseaux de proie, des poules couveuses ou des oiseaux aquatiques lents pour effectuer leur classement de pertinence.

Lorsqu'une requête de recherche est soumise à Google, elle est acheminée vers une coopérative de données où surveille les pages de résultats flash sur flambage vitesses . Lorsqu'un résultat pertinent est observé par l'un des pigeons de la grappe, il frappe une barre d'acier recouverte de caoutchouc avec son bec, qui attribue à la page un PigeonRank valeur d'un. Pour chaque pic, le PigeonRank augmente . Les pages qui reçoivent le plus de picots sont renvoyées en haut de la page de résultats de l'utilisateur avec les autres résultats affichés dans l'ordre de picage.

34
ypercubeᵀᴹ

Il est important de garder à l'esprit deux ou trois choses à propos de Google:

  • Leur base de données est le propriétaire BigTable - il a été conçu sur mesure PAR GOOGLE pour répondre exactement à leurs besoins

  • Leur base de données propriétaire est construite au-dessus de leur système de fichiers propriétaire - Google File System - ceci a été conçu, encore PAR GOOGLE , pour être facilement extensible en utilisant du matériel courant. Comme Aaron l'a mentionné dans sa réponse, ils ont un grand nombre de serveurs moyens au lieu d'un petit nombre de serveurs très puissants.

Ils stockent des tables individuelles sur plusieurs machines afin de rendre l'accès plus rapide - leur logiciel sait quelles données se trouvent sur quelle machine et au lieu de parcourir un disque pour les localiser, il peut aller directement au serveur avec les informations pertinentes.

19
JNK

Google n'utilise pas la technologie de base de données relationnelle traditionnelle. Il a développé sa propre technologie, une grande table et une carte réduite. Les documents de recherche originaux sont ici: Big Table et Map/Reduce . Le SSTable, table de chaînes triées est également intéressant.

Une technologie similaire est maintenant utilisée dans hadoop et bases de données NoSQL .

11
NimChimpsky

Lisez Steven Levy " In The Plex: Comment Google pense, fonctionne et façonne notre vie ". Ce livre est une lecture fascinante sur tout ce qui concerne Google et traite à un niveau élevé de la technologie et de l'ingénierie derrière la recherche. Aaron le résume très bien dans sa réponse et le livre de Levy vous donnera plus de détails sur la façon dont ils le font.

9
Todd Everett