Wie sucht Google?

Hallo HaBo,

Der Titel mag wohl etwas verwirrend sein aber mir fiel nichts passenderes ein. Das ist auch der Grund, warum ich per googlen nicht viel erfahren habe.
Natürlich weis ich, dass Google den Suchalgorythmus streng geheim hält. Mir geht es aber auch gar nicht um die Frage, nach welchen Kriterien sich Google bei der Suche richtet, sondern um die Logistik die dahinter stecken muss.
Wie schafft es Google, bei einer Suche nach einem häufgen und kurzen Wort wie z.B. "to", die Ergebnisse innerhalb 0,03 Sekunden anzuzeigen? Immerhin müssen 7 Milliarden Webseiten im Index durchsucht und die Ergebnissplatzierung von über 11 Mio Ergebnissen in dieser kurzen Zeit berechnet werden. Dazu kommt, dass Google in der Sekunde mehrere tausend Anfragen hat. Ich habe gelesen, dass Google weltweit und ständig Systeme aufkauft, um die Rechenleistung zu erhöhen. Trotzdem wundere ich mich über so eine enorme Geschwindigkeit.

Ist bekannt, wie Google seinen Index durchsucht? Wie gesagt ich frage nicht nach den Kriterien an denen sich Google bei der Suche orientiert.

MfG Lük
 
man munkelt google hätte den besten rechner der welt, schneller als die momentab schnellsten zivilen rechner. man weiß nur eben nix genaues weil google keine zahlen veröffentlicht. (c't)
ich selbst vermute die zahlen sind etwas gehübscht, da du ja ~1sek brauchst um die seite aufzubauen. hier kann man auch etwas angeben.
wie das so schnell durchsucht wird ist sicherlich ebenfalls googles geheimniss
 
sogesehen hat google den schnellsten "cluster" der welt (obwohl google die daten dazu - wie schon gesagt wurde - geheim hält.

und warum das so schnell geht kann ich mir nur so erklären, daß der wert oben ein schätzwert ist und du ja eh nur 10 treffer pro seite angezeigt bekommst ;)
 
Original von xeno
und warum das so schnell geht kann ich mir nur so erklären, daß der wert oben ein schätzwert ist und du ja eh nur 10 treffer pro seite angezeigt bekommst ;)

Aber Google muss doch trotzdem alle Seiten des Indexes durchsuchen, um das treffenste Ergebniss zu finden. Es nimmt ja nicht einfach die ersten 10 Treffer aus dem Index, oder?
 
Ich schreibe gerade eine Arbeit über Google. Es sollte gesagt werden dass Google etwa 450'000 Rechner zu einem Riesennetzwerk zusammengebastelt und in etwa 30 Rechenzentren weltweit verteilt hat. (gem. Google.-.Die.Macht.einer.Suchmaschine.(NDR.Zapp.-.Doku).divx)

Weiter glaube ich mal gelesen zu haben dass die Anfrage in verschiedenen Teile zerlegt und dann paralell in verschiedenen Datenbanken gesucht wird. Scheinbar sind die Datenbanken auch komplett mehrfach vorhanden.

Das Google Betriebssystem soll - zu meinen Erstaunen - ausschliesslich in C/C++ geschrieben sein, ich hätte etwas schnelleres erwartet.

Dazu kann ich dir leider keine Quellen mehr nennen.

Eventuell findest du etwas mehr heraus wenn du dich mit den Funktionen des "Google Mini", sowie der "Google Seach Appliance beschäftigst"... (http://www.google.com/enterprise/)

// du könntest dir son Ding bestellen und es reversen ;) (wieso das wohl nicht gemacht wirde / wurde...)
 
Die Suchanfragen werden vermutlich für eine Gewisse Zeit im Cache gehalten, ich glaube kaum das jedes mal wen jemand nach "Sex" sucht ein Query die Datenbank von oben bis unten durchrattert. Aber genaue Informationen wird hier wohl keiner liefern können.
 
Ich schreibe gerade eine Arbeit über Google.

Was dich aber nicht davon abhält, Schwachfug dieser Art

Das Google Betriebssystem soll - zu meinen Erstaunen - ausschliesslich in C/C++ geschrieben sein, ich hätte etwas schnelleres erwartet.

zu erzählen.

Interessant, was hättest du denn erwartet? Und jetzt bitte nicht mit Assembler kommen, bloß weil man mal gehört hat, das Assembler das schnellste ist.

Und was soll bitte schön das "google Betriebssytem" sein? Google setzt seit Ewigkeiten schon auf Linux. Bloß, weil da ein paar Erweiterungen drin sind, hat das noch lange nichts mit eigenem Betriebssystem zu tun.

Evtl. solltest du mal besser recherchieren.
 
Original von [starfoxx]
Das Google Betriebssystem soll - zu meinen Erstaunen - ausschliesslich in C/C++ geschrieben sein, ich hätte etwas schnelleres erwartet.

du meinst sicherlich das Programm, was die Suchanfragen entgegennimmt und Ergebnisse zurückliefert...

Und da wüsste ich ebenfalls nicht, was du daran langsam findest...
PHP, ASP oder andere Scriptsprachen, mit denen Otto-Normal-Verbraucher Websites erstellt, sind wesentlich langsamer als eine C++-Applikation.

Soweit ich weiß, arbeitet auch bei Yahoo ein C++-Programm im Hintergrund.

btw: Ich würde auch davon ausgehen, dass die Suchanfragen zwischengespeichert werden.
 
Ich muss hier mal einige Informationen klar stellen :
google setzt auch auf andere Programmiersprachen, z.b. Python, da Python sehr übersichtlich ist, was bei diesem Projekt und dem damit verbundenem Quellcode der Gigantisch sein muss sinn macht.

Das solltest du eventuell in deiner Arbeit noch verbessern @starfoxx

"Als Betriebssystem wird eine abgespeckte Variante der Linux-Distribution Red Hat verwendet [7]. Die Programmiersprachen C, C++ und Python spielen essentielle Rollen bei der Implementierung der proprietären Suchmaschinensoftware." "

Warum google so schnell ist :

Google setzt nicht auf einen reinen Cluster.
Es werden einzelne Datenstrukturen (doc-kopien, verzeichnisse und der ganze kram) auf mehreren rechnern und mit hilfe der verfügbaren einzelrechner lässt sich das ganze halt schnell beantworten.

im hintergrund werden zusätzlich die suchanfragen gecacht

google betreibt überigens zahlreiche rechenzentren und im idealfall sollte die suchanfrage von dem nächsten rz beantwortet werden.
 
Original von buggybunny
Evtl. solltest du mal besser recherchieren.

Ich befasse mich mit wirtschaftlichen Fragen.
Ich hätte nicht gedacht dass schnelle Datenbankschnittstellen auch in C geschrieben sind.

Die interessantere Frage wäre sowies was für eine Datenbank Google verwendet.
 
Ich befasse mich mit wirtschaftlichen Fragen.
Ich hätte nicht gedacht dass schnelle Datenbankschnittstellen auch in C geschrieben sind.

Nein, es geht hier nicht um irgendwelche Datenbank-Schnittstellen, sondern um Such-Algorithmen.

Die interessantere Frage wäre sowies was für eine Datenbank Google verwendet.

Google - als bekannter open-source Förderer - setzt nach eigener Aussage mySQL 5-Cluster ein.
 
Original von buggybunny
Nein, es geht hier nicht um irgendwelche Datenbank-Schnittstellen, sondern um Such-Algorithmen.

Google - als bekannter open-source Förderer - setzt nach eigener Aussage mySQL 5-Cluster ein.

Such Algorithmen bei der Abfrage der Daten oder bei der Indizierung?
Ich ging bis jetzt immer von ersterem aus.

Mann kann Datenbankensystem als Cluster betreiben?
Ich kenne riesendatenbanken von Grossystemen, das ist mir neu. Eine Googleentwicklung?

Man könnte jetzt natürlich darüber streiten ob Google immernoch das Opensource Messiasgesicht hat wenn man JahresCashflows von 2.5 mia (2007) und Jahresgewinne (EBIT) von 5.6 Mia (2007) dagegen stellt... ;)
 
Ich zitiere Bitmuncher zum Thema Datenbank-Cluster
"Bei Datenbanken kommen meist replizierte Systeme (Master-Master-Replikationen) oder Datenbank-Cluster zum Einsatz."
Sein Zitat ist dabei nicht auf google sondern auf Server Architektur bezogen.
Jeden falls gibt es sehr wohl Datenbank-Cluster.
 
Hallo,
schaut mal hier:
Technik der Suchmaschine
Google platform
How Web search engines work bzw. Realisierung von Suchmaschinen

Naja das Geheimnis ist gar nicht so groß.

Immerhin müssen 7 Milliarden Webseiten im Index durchsucht und die Ergebnissplatzierung von über 11 Mio Ergebnissen in dieser kurzen Zeit berechnet werden.
Wenn du bei Google nach einem Wort suchst, werden nicht alle Dokument per Textsuche durchsucht, wovon es extrem viel mehr gibt als 7 Mrd., sondern jedem Dokument werden Schlagworde zugeordnet und diese werden in einem Index zusammengefasst.

Wenn du also nach einem Wort suchst, wird einfach nur (naja so einfach nun auch nicht) der entsprechende Index aufgerufen und darin sind alle relevanten Datensätze hinterlegt, inkl. Gewichtung.
Diese Gewichtung wird nicht bei jeder Suchanfrage neu berechnet sondern im groß teil nur alle paar Monate aktualisiert, auch bekannt als Google dance

Wenn du nach zusammengesetzen Wörtern suchst, werden die entsprechenden Indizes angesprochen und die Ergebnisse gewichetet.


Naja, Google liefert noch deutlich mehr Ergebnise dazu:
Google+Arbeitsweise
Suchmaschinen Grundlagen - Arbeitsweise, Funktion und Bedeutung
Architetur von Google

Es lief irgendwann vor gar nicht so langer Zeit (aber noch im Jahr 2007) ich mein im öffentlich-rechtlichen eine Doku über Google, unter anderem wie die Suchmaschine funktioniert. Recht intressant, evt. findet die jmd.

ich selbst vermute die zahlen sind etwas gehübscht, da du ja ~1sek brauchst um die seite aufzubauen.
Dann hast du ja nen sau langsames Internet :p
Ne die Daten müssen ja auch übertragen werde, und bei mir baut die Seite sich deutlich schneller als 1 sek auf.

Sonst gibt es noch Fasterfox welches die anzeigt, wielange die Seite gebraucht hat sich aufzubauen
 
Nur fuer den Fall das du dich noch naeher mit dem Thema beschaeftigen moechtest.
Es hat alles mit der sogenannten Theoretischen Informatik zu tun( wie ich das Fach hasse).
Du kannst also auch nach Dykstra(Updatable Priority-Queue) suchen(geht eigentlich um den kuerzesten Weg in einem Graphen)
binaeren Suchbaeumen, mit der Laufzeit O(log n) oder s.g. Hashtables(bitte korrigieren wenn ich falsch liege) schauen.
Das sind naehmlich die Grundlagen fuer eine schnelle Indexsuche.
mfg

sw33t
 
bei mir geht google gerade überhaupt nicht. jede andere Internetseite geht. Ich google nicht mal anpingen. aber wie gesagt alles andere geht icq alle anderen internet seiten. an was liegt denn so was jetzt?^^ an mir oder an google?^^
 
Ohje, dass scheint ja sehr hoch zu sein.

Original von Elderan
[...] sondern jedem Dokument werden Schlagworde zugeordnet und diese werden in einem Index zusammengefasst.

Was meinst du mit Schlagworten? Wenn du damit z.B. nur Hauptwörter meinst, dann wäre ja eine Suche nach z.B. "to" hinfällig oder verstehe ich das falsch?
 
@lük

mach es doch mal und du wirst sehen das dein "to" Bestandteil einer URL oder
ein Eigennamens ist.

Gruss
 
Zurück
Oben