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.
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.
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.