zur Homepage

Computerwoche, 20/2005

Google setzt auf Billighardware

Von J�rg Auf dem H�vel

Die IT-Architektur der gr��ten Suchmaschine

Zu jedem Internet-Startup-Unternehmen geh�rt eine Legende. Die von Google spielt Mitte der 90er Jahre in den Lagerr�umen der Stanford University rund 60 Kilometer s�dlich von San Francisco. Hier tauchen die beiden befreundeten Studenten Larry Page und Sergey Brin immer wieder auf, um zu kontrollieren, welches Universit�tspersonal neue Rechner erh�lt. Die veralteten PCs und Server der Mitarbeiter sammeln sie und binden sie in ihr eigenes Netzwerk ein. In diesem wollen sie die Antwort auf eine der gro�en Fragen des Computerzeitalters finden: Wie ziehe ich aus einer riesigen Menge an Daten die f�r mich relevanten Informationen heraus?

Heute ist die Antwort klar: mit Google. Die von Page und Brin entwickelte Suchmaschine ist wegen ihrer Schnelligkeit, der aufger�umten Benutzeroberfl�che und der Qualit�t der Suchergebnisse das weitaus beliebteste Tool zum Aufsp�ren von Informationen im Internet - im Durchschnitt erh�lt Google mindestens 1000-mal in der Sekunde eine Anfrage. Hinter der schlichten Oberfl�che in �ber 88 Sprachen und mehr als 80 Dom�nen verbirgt sich eine Armada von Billigrechnern, die grunds�tzlich noch immer nach dem Prinzip der ersten Stunden von Google aufgebaut sind.

google logo

Geografische Lastverteilung

Surft ein User zu www.google. com, sorgt zun�chst ein DNS-basierender Lastenverteiler unter www.google.akadns.net daf�r, dass der Anwender zu Google-Rechnern in seiner geografischen N�he geleitet wird. Die Nutzung des DNS (Domain Name System) als Lastverteiler baut auf dessen TTL-Wert ("Time to Live") auf. Das DNS legt f�r jede Domain fest, wie lange sie im Cache eines Servers verleiben darf; im Normalfall sind das mehrere Tage. Ist die TTL abgelaufen, muss der Name-Server des Anwenders die IP-Adresse �ber das DNS anfordern. Google und sein Partner Akamai haben aber die TTL auf Sekunden eingestellt, so dass die Name-Server die IP-Adresse der Domain www.google.com nur kurz speichern d�rfen, danach m�ssen sie eine neue IP beim zust�ndigen Name-Server von Google (beziehungsweise Akamai) anfordern. Auch ein einfaches Ping auf www.google.de zeigt st�ndig wechselnde IP-Adressen.

Die Suchanfragen werden also an wechselnde physikalische Rechenzentren gerichtet.

Dieses Vorgehen hat zwei Vorteile: Zum einen verringert sich die Reisezeit der Datenpakte, was zu k�rzeren Antwortzeiten f�hrt, zum anderen laufen nicht alle Suchanfragen in den USA auf. Das Unternehmen nennt seine globalen Rechnerstandorte "Cluster", h�lt aber geheim, wo genau die Rechnerfarmen stehen. W�hrend andere IT-Giganten sich �ber ihre Infrastruktur in Schweigen h�llen, ist Google zwar auskunftsfreudiger, steht aber zugleich in dem Verdacht, die Mitbewerber �ber das wahre Ausma� des ausgedehnten Rechnernetzes in die Irre zu f�hren. Zurzeit wird die Anzahl der Rechenzentren auf mindestens 13 gesch�tzt, wovon eines in Santa Clara, Kalifornien, und ein weiteres in Herndon, Virginia, steht. Europ�ische Surfer werden von Zentren in Z�rich und Dublin bedient. Ein Datenpaket einer Anfrage an Google.de verl�sst nie das "alte Europa". �ber die Frage, wie viele Server in den verschiedenen Rechenzentren stehen, wird seit Jahren spekuliert. Mal werden 60000, mal �ber 100 000 Server genannt. Nach eigener Auskunft indexiert Google �ber acht Milliarden Web-Seiten mit einer Gr��e von durchschnittlich 10 Kilobyte. Es m�ssen also 80 Terabyte Daten gespeichert werden.

Wichtiger als die genaue Anzahl der Maschinen und der indexierten Web-Seiten ist der subtile Aufbau dieser �ber viele Standorte verteilten Architektur. Die Beantwortung einer Suchanfrage an diese Grid-Datenbank l�uft in zwei Phasen ab. In der ersten Phase landet die Anfrage bei Googles Index-Servern. Gibt der User beispielsweise computerwoche bei Google ein, so schaut der Index-Server in seinem Register nach, welche von ihm indexierten Seiten dieses Wort beinhalten. Bei einer Anfrage nach computerwoche online verkn�pft Google die beiden Begriffe per Boolschen "UND"-Operator. Sodann wird nach Relevanz der Ergebnisse eine Rangfolge erstellt, die sp�ter dar�ber entscheidet, an welcher Stelle die Seite in der Ergebnisliste erscheint. Schon diese Erstellung der Liste l�uft nicht nur auf einem einzelnen Rechner ab, sondern verteilt sich �ber mehrere Maschinen.

Weniger als eine halbe Sekunde

In einem zweiten Schritt kommen die Document-Server zum Tragen. Diese Rechner nehmen die in Schritt eins generierte Liste und extrahieren den aktuellen Titel und die URL der gefundenen Web-Seiten. Sie greifen dazu auf einen Schnappschuss des Webs zu, den die Suchroboter von Google immer wieder aktualisieren. Dieser Google-Cache versucht m�glichst aktuell zu bleiben; die Robots durchk�mmen das Internet immer wieder neu. Parallel zu den beiden Phasen initiiert Google mindestens zwei andere Prozesse. So wird die Sucheingabe zu einer Rechtschreibkorrektur-Software und zu einem Werbeanzeigen-Server weitergeleitet, der zu den Suchbegriffen passende Inserate generiert, die sp�ter am rechten Rand der Ergebnisseite erscheinen.

Sind alle Phasen abgeschlossen, erstellt der Google-Web-Server" (GWS) eine HTML-Seite und sendet diese an den User zur�ck. Der Web-Server l�uft, genau wie alle anderen Anwendungen, auf einer abgespeckten Linux-Version von Red Hat und ist - trotz einer gewissen �hnlichkeit mit dem Open-Source-Marktf�hrer "Apache" - eine Eigenentwicklung aus dem Hause Google. Der gesamte Prozess l�uft blitzschnell ab, eine Google-Suchanfrage dauert �blicherweise weniger als eine halbe Sekunde.

Google Racks Moderne Google-Racks

An welcher Stelle in der Ergebnisliste eine Seite erscheint, h�ngt vom Page-Rank-Algorithmus ab. In diesen geht ma�geblich ein, wie oft und vor allem von welchen anderen Web-Seiten aus eine Web-Seite verlinkt ist. Wenn Google etwas �ber die Qualit�t der Seite wei�, die einen Link enth�lt, schlie�t es daraus auch auf die Qualit�t der verlinkten Seite. Anzahl und Qualit�t der fremdgesetzten Links bestimmen also den Rang bei Google.

Die damals an der Stanford University entworfene Strategie der Billighardware bestimmt noch heute Googles IT-Architektur. Sie baut weder auf Oracle-Datenbanken noch auf Sun-Servern auf, und auch die Blade-Technik bleibt au�en vor. Google betreibt sein Gesch�ft auf preiswerten Servern, deren Platzbedarf ein oder zwei H�heneinheiten nicht �berschreiten. Die 19-Zoll-No-Name-"Pizzaschachteln" kauft das Unternehmen oft von der Firma Rackable - und manchmal auch auf dem Gebrauchtmarkt. In jedem dieser Server sitzen ein oder zwei normale x86-PC-Prozessoren und eine oder mehrere IDE-Festplatten. "Im Schnitt kostet ein Google-Server rund 1000 Dollar", sagt Urs Hoelzle, Vizepr�sident der technischen Abteilung bei Google.

Generations�bergreifend verrichten bei Google �ltere 533-Megahertz-Intel-Celeron- genauso wie 2,4-Gigahertz-Pentium-Prozessoren ihren Dienst. Meist stehen zwischen 40 und 80 Server in einem Rack. Dort sind die Server �ber einen 100-Megabit-Ethernet-Switch verbunden, der ein oder zwei 2-Gigabit-Uplinks zu den anderen Servern hat. Ein Suchbefehl wird nicht nur von einem Rechner bearbeitet, sondern auf diversen Maschinen parallel abgearbeitet.

Der Absturz ist einkalkuliert

Die Performance des einzelnen Rechners ist damit weniger relevant als die schnelle Verbindung unter den Maschinen. Langsamere CPUs werden durch schnellere im Netzwerk ausgeglichen. Die hohe Ausfallwahrscheinlichkeit der preiswerten Hardwarekomponenten egalisiert Google durch eine konsequente Replikation aller Dienste. Fallen Festplatten oder gar ganze Racks aus, so �bernimmt ein gespiegelter Server die Aufgaben.

Das intern programmierte "Google File System" (GFS) rechnet stets mit einem solchen Absturz und ist so implementiert, dass es bei Problemen sofort auf eine andere Ressource zugreift. Dazu speichert es jedes Datenbit auf drei Rechnern, die immer in verschiedenen Racks sitzen m�ssen.

Ein Server arbeitet bei Google maximal drei Jahre lang, danach wandert er zum Elektro-Recyling. �ltere Rechner sind im Vergleich zu der nachr�ckenden Generation zu langsam: Sie w�rden die verteilten Rechenoperationen stark ausbremsen.

Teure Boards sind �berfl�ssig

Auch in Zukunft will Google auf preisg�nstige Hardware setzen. Multiprozessoren-Motherboards w�rden zwar mit einer besseren Performanz aufwarten, die Softwareparallelisierung l�uft bei Google aber so z�gig und einwandfrei, dass sich der hohe Preis f�r solche Motherboards nicht lohnen w�rde. Ein brandneuer Highend-Multiprozessor-Server w�rde dreimal so viel wie ein vergleichbares zusammengestelltes Rack kosten. Die wichtigste Suchmaschine der Welt wird also weiterhin mit Billighardware arbeiten.