it-swarm.com.de

Welche Datenbanktechnologien verwenden große Suchmaschinen?

Weiß jemand, wie Google oder Yahoo nach Schlüsselwörtern für sehr, sehr große Datenmengen suchen? Welche Art von Datenbank oder Technologien setzen sie dafür ein?

Es dauert einige Millisekunden, aber sie haben mehr als eine Milliarde Seiten indiziert.

32
rkosegi

Ich bin sicher, dass es eine Kombination von Dingen gibt:

  • ernsthafte Hardware
  • viele davon - Daten werden auf viele Knoten und verschiedene Rechenzentren verteilt und repliziert

    • (Eigentlich glaube ich zumindest im Fall von Google, dass sie Tausende und Abertausende von wirklich Low-End-Servern haben)
  • die Ergebnisse vieler gängiger Abfragen werden zwischengespeichert. Beachten Sie, dass sie potenzielle Suchvorgänge nach Dingen vorab füllen, von denen Sie wissen, dass Sie noch nie danach gesucht haben. Sie sagen voraus, wonach Sie suchen könnten, und hoffen, dass Ihr Ergebnis bereits vorberechnet und irgendwo zwischengespeichert wurde. In vielen Fällen tun sie dies - es gibt nicht viele Suchanfragen, die Sie heute bei Google finden könnten und die noch nicht von jemandem vor Ihnen gestellt wurden. Wenn sie einen neuen Suchbegriff erhalten, verwenden sie wahrscheinlich so etwas wie eine Freitextsuche - und ich würde erwarten, dass Schlüsselwörter beim ersten Crawlen einer Seite semantisch extrahiert werden, anstatt zu versuchen, Schlüsselwörter im Dokument zu finden, nachdem Sie nach ihnen gesucht haben . Natürlich müssen sie diese Caches regelmäßig ungültig machen, den Seitenrang neu berechnen und die neuen zwischengespeicherten Ergebnisse auf ihren Cache verteilen - und ich bin sicher, dass dahinter eine Menge ernsthafter Technik steckt.
21
Aaron Bertrand

Tauben .

Das Herzstück der Google-Suchtechnologie ist PigeonRank ™, ein System zum Ranking von Webseiten, das von den Google-Gründern Larry Page und Sergey Brin entwickelt wurde an der Stanford University:

enter image description here

Aufbauend auf der bahnbrechenden Arbeit von BF Skinner schlussfolgerten Page und Brin, dass kostengünstige Taubencluster (PCs) zur Berechnung des relativen Werts von Webseiten verwendet werden könnten schneller als menschliche Editoren oder maschinenbasierte Algorithmen. Während bei Google Dutzende von Ingenieuren täglich daran arbeiten, jeden Aspekt unseres Service zu verbessern, bietet PigeonRank weiterhin die Grundlage für alle unsere Websuchwerkzeuge.

Warum Googles patentierter PigeonRank ™ so gut funktioniert

Der Erfolg von PigeonRank beruht hauptsächlich auf der überlegenen Trainingsfähigkeit der Haustaube (Columba livia) und ihrer einzigartige Fähigkeit, Objekte unabhängig von der räumlichen Ausrichtung zu erkennen. Die gewöhnliche graue Taube kann leicht zwischen Elementen unterscheiden, die nur die kleinsten Unterschiede aufweisen. Dies ermöglicht es ihr, relevante Websites aus Tausenden ähnlicher Seiten auszuwählen.

Durch das Sammeln von Taubenschwärmen in dichten Clustern kann Google Suchanfragen mit einer Geschwindigkeit verarbeiten, die herkömmlichen Suchmaschinen überlegen ist. Diese sind in der Regel auf Greifvögel, Bruthennen oder sich langsam bewegende Wasservögel angewiesen, um ihre Relevanz zu ermitteln.

Wenn eine Suchanfrage an Google gesendet wird , wird sie an einen Datenkoop weitergeleitet, in dem Flash-Ergebnisseiten in Flammen überwacht Geschwindigkeiten . Wenn eine der Tauben im Cluster ein relevantes Ergebnis beobachtet , trifft sie mit ihrem Schnabel auf eine gummibeschichtete Stahlstange, die der Seite a zuweist PigeonRank-Wert von eins. Für jeden Peck erhöht sich der PigeonRank . Die Seiten, die die meisten Pecks erhalten, werden oben auf der Ergebnisseite des Benutzers zurückgegeben, wobei die anderen Ergebnisse in der Hackreihenfolge angezeigt werden.

34
ypercubeᵀᴹ

Es ist wichtig, einige Dinge über Google zu beachten:

  • Ihre Datenbank ist die proprietäre BigTable - sie wurde speziell entwickelt BY GOOGLE, um genau ihren Anforderungen zu entsprechen

  • Ihre proprietäre Datenbank basiert auf ihrem proprietären Dateisystem - Google File System - dieses wurde erneut entwickelt BY GOOGLE, um mit gängiger Standardhardware leicht erweiterbar zu sein. Wie Aaron in seiner Antwort erwähnt hat, haben sie eine große Anzahl durchschnittlicher Server anstelle einer kleinen Anzahl sehr leistungsfähiger Server.

Sie speichern einzelne Tabellen auf mehreren Computern, um den Zugriff zu beschleunigen. Ihre Software weiß, welche Daten sich auf welchem ​​Computer befinden, und anstatt eine Festplatte zu durchsuchen, um sie zu finden, kann sie mit den relevanten Informationen direkt zum Server geleitet werden.

19
JNK

Google verwendet keine traditionelle relationale Datenbanktechnologie. Es entwickelte seine eigene Technologie, große Tabelle und Karte zu reduzieren. Die Originalarbeiten sind hier: Big Table und Map/Reduce . Interessant ist auch die SSTable, sortierte String-Tabelle .

Eine ähnliche Technologie wird jetzt in hadoop und NoSQL-Datenbanken verwendet.

11
NimChimpsky

Lesen Sie Steven Levys " In The Plex: Wie Google unser Leben denkt, funktioniert und gestaltet ". Dieses Buch ist eine faszinierende Lektüre über alles, was Google zu bieten hat, und behandelt auf hohem Niveau einige der Technologien und Techniken, die hinter der Suche stehen. Aaron fasst es in seiner Antwort sehr gut zusammen und Levys Buch wird Ihnen einige Details darüber geben, wie sie es tun.

9
Todd Everett