Sådan fungerer Googles datacentre

På konferencen Google I/O åbnede Google døren til sit maskinrum og fortalte om hardware- og software-infrastrukturen i sine mange datacentre, der driver verdens største søgemaskine.

Artikel top billede

Det sker ikke så ofte, at Google fortæller om, hvordan verdens største søgemaskine egentlig fungerer.

Hvordan infrastrukturen er skruet sammen i de mange datacentre, der trækker et væld af netbaserede applikationer som Google Earth, Google Apps og andre har hidtil stået hen i det lidt uvisse for udenforstående.

Men på konferencen Google I/O i forrige uge, løftede Jeff Dean fra Googles System Infrastructure Group lidt af sløret.

Et af designkriterierne bag Googles datacentre er at anvende rimeligt enkelt og billigt hardware og i stedet bruge penge og ressourcer på at udvikle fejltolerant software.

"Vi mener, det er bedre at have dobbelt så meget hardware, som ikke er så pålideligt, som at have halvt så meget, som er mere pålideligt. Pålideligheden skal skabes via software. Hvis man har 10.000 maskiner kørende, så er der noget, som vil dø hver dag," sagde Jeff Dean ifølge CNet.

Mens mange udviklere stadig er ved at vænne sig til tanken om parallelprogrammering på flerkerne-processorer, er det noget som Google er i fuld gang med. Ja, det er en nødvendighed for at kunne få ordentlig performance.

Søgegiganten har bygget sin teknologi på en arkitektur, der spænder over tusindvis af computere, så på den vis har Google allerede taget springet til parallel-programmering.

"Vi kan rigtig, rigtig godt lide multikerne maskiner. For os ligner multikerne maskiner en masse små maskiner som er rigtigt godt forbundne. De er relativt nemme for os at anvende," siger Jeff Dean.

Centralt i software-infrastrukturen er den hellige treenighed Google File System, BigTable og MapReduce.

Sådan virker Google File System

Google har sig fra virksomhedens spæde begyndelse koncentreret sig om, hvordan man effektivt lagrer store mængder data, og hvordan man kan foretage lynhurtige søgninger i de enorme datamængder.

Google-grundlæggerne var udstyret med gode ideer, viden om søgealgoritmer og ikke så mange penge for snart ti år siden.

I stedet for at gå til en af de store storageleverandører og købe state-of-the-art storageteknologi, valgte selskabet at udvikle deres eget storagesystem baseret på, hvad amerikanere kalder "dirt cheap commodities."

Det var billige hverdagscomputere udstyret med Linux og samlet i et såkaldt cluster, en hel klynge af computere.

"Google vurderede, at de kunne gøre det bedre selv. Google burde egentlig gå ind i storagebranchen. Det er ligesom dengang, CERN fandt ud af, at det ikke kunne betale sig at købe supercomputere, men bedre kunne betale sig at opbygge sin egen supercomputer af billige Linux-maskiner i megaclustre," siger IDC's storageanalytiker Claus Egge.

Larry Page og Sergey Brin skrev selv softwaren, der gemmer, søger og fremfinder information fra klyngelageret. En tidlig version af softwaren blev kaldt BigFiles, hvilket senere blev til Google File System (GFS).

En grundlæggende design­filosofi i Google File System er, at enhver komponent - software eller hardware - vil fejle på et tidspunkt. Vil fejle, ikke kan fejle.

Derfor er det så vigtigt at udvikle fejltolerant software.

"Komponentfejl er normen, ikke undtagelsen. Vi har set problemer forårsaget af applika­tionsfejl, operativsystem-fejl, menneskelige fejl og nedbrud i diske, memory, netværk og strømforsyninger. Derfor er konstant overvågning, fejlfinding, fejltolerance og automatisk recovery integreret i systemet," skriver Google-arkitekterne Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung i deres whitepaper om GFS. (pdf)

Til bords med BigTable

For at få noget struktur på de mange data som gemmes i GFS, anvender Google BigTable.

Kommercielle databaser fra virksomheder som Oracle og IBM blev ikke anset som velegnede til Googles formål.
"De kan ikke operere i den målestok som Google har brug for, og hvis de gjorde, så ville de blive for dyre," sagde Jeff Dean på Google I/O ifølge CNet.

Derfor byggede Google sit eget distribuerede storage system.

BigTable, som Google begyndte at designe i 2004, anvendes i mere end 70 Google projekter, deriblandt Google Maps, Google Earth, Blogger, Google Print, Orkut. BigTable anvendes også i Googles kerne-søgeindeks.

Ifølge Jeff Dean håndterer den største instans af BigTable omkring 6 petabytes data som er spredt ud over tusindvis af maskiner.

For at kunne finde rundt i de mange data på de tusindvis af servere, har Google udviklet MapReduce.

MapReduce - stadig vigtigere for Google

Google betegner MapReduce som "en programmeringsmodel og en tilhørende implementering for processering og generering af store datasæt"

Første version af MapReduce blev begyndt af Google i 2003.

MapReduce anvendes til mange forskellige søgerelaterede funktioner. Eksempelvis til at finde ud af hvor mange gange et specifikt ord optræder i Google's søgeindeks; det kan give en liste over websider, hvor et ord optræder og kan liste alle websider som linker til et bestemt website.

"Med MapReduce kan Google relativt hurtigt bygge et indeks, der viser hvilke websider der indeholder "new," "york," og "restaurants". "Man bliver nødt til at gennemløbe tusindvis af maskiner for at få det afsluttet i rimelig tid," siger Jeff Dean.

MapReduce anvendes i stigende grad internt i Google. I august 2004 kørte det 29.000 jobs. Det tal var steget til 2,2 millioner i september 2007. I løbet af den periode er gennemsnitstiden for et job faldet fra 634 sekunder til 395 sekunder, mens output fra MapReduce tasks er steget fra 193 terabytes til 14.018 terabytes, fortæller Jeff Dean.

Som med GFS er det vigtigt at MapReduce er fejltolerant og kan overleve maskinnedbrud.

Ifølge en præsentation fra 2004 formåede MapReduce at afslutte et job på et cluster med 1800 maskiner, hvoraf de 1600 maskiner gik ned.

En kaotisk verden kræver stærk cybersikkerhed, resiliens og digital suverænitet

Mød David Heinemeier, Flemming Splidsboel Hansen, Casper Klynge, Rasmus Knappe, Jens Myrup Pedersen og forfattere som fhv. jægersoldat Thomas Rathsack og adfærdsforsker Henrik Tingleff.

Computerworld afholder d. 4. og 5. november Cyber Security Festival i København - med fokus på sikkerhed, resiliens og digital suverænitet. Det er helt gratis - men reserver din plads allerede nu.

Hele programmet er online lige nu - og du kan reservere din gratis plads lige her - jeg håber vi ses! 

Lars Jacobsen

Chefredaktør på Computerworld

Se alle Lars's artikler her

Navnenyt fra it-Danmark

Signifly har pr. 1. august 2025 ansat Anders Kirk Madsen som Tech Lead. Anders skal især beskæftige sig med at hjælpe Signiflys offentlige og private kunder med at styrke forretningen gennem teknisk solide løsninger. Anders kommer fra en stilling som Business Architect hos SOS International. Nyt job
Adeno K/S har pr. 22. september 2025 ansat Steen Riis-Petersen som ServiceNow Expert. Han kommer fra en stilling som Senior Manager hos Devoteam A/S. Nyt job
Netip A/S har pr. 15. september 2025 ansat Peter Holst Ring Madsen som Systemkonsulent ved netIP's kontor i Holstebro. Han kommer fra en stilling som Team Lead hos Thise Mejeri. Nyt job
Norriq Danmark A/S har pr. 1. september 2025 ansat Thea Scheuer Gregersen som Finace accountant. Hun skal især beskæftige sig med håndteringer af bl.a. bogføring og finansiel rapportering på tværs af selskaberne. Hun er uddannet Bachelor´s degree i Business Administration & Economics og en Master of Sustainable Business degree. Nyt job

Thea Scheuer Gregersen

Norriq Danmark A/S