2009. április 22., szerda

Nincs titok a Google adatfeldolgozásában

Bookmark and Share
A Simonyi Konferencia legjobban várt előadása kétség kívül a Google zürichi szoftvermérnökének Németh Andrásnak a prezentációja volt. A cégnél mindössze hét hónapja dolgozó fiatal szakember a Google villámgyors adatfeldolgozásáról árult el nagyon érdekes részleteket.

A Joaquin Phoenix-hez hasonlító Németh András előadására már tömve volt a nagyelőadó. A szoftvermérnök bevezetőjében elmondta, hogy a Google-lel az egész világon naponta százmilliók keresnek rá valamire. Ennek az óriási lekérésnek a teljesítéséhez a Google indexe négy óránként frissül, ilyenkor annyi friss adat kerül be a rendszerbe, mint amennyi az Amerikai Kongresszusi Könyvtárban örzött valamennyi adat. Mivel Németh András elsősorban a YouTube projekten dolgozik, így a nagy videómegosztó alkalmazásról elárulta, hogy a YouTube-ra percenként 15 órányi videót töltenek fel a felhaszálók. A YouTube keresőmotorja a második legnagyobb a világon, természetesen a Google mögött.


A szofvermérnök innentől kezdve vágott bele a dolgok közepébe, Németh András a Google alapvető adatfeldolgozási és tárolási rendszerét a GFS filerendszert és a MapReduce névre hallgató feldolgozó rendszert (framework) ismertette. Mivel a Google esetében skálázható alkalmazásokat kell felhasználók millióinak rendelkezésére bocsájtani - gondoljunk csak a Gmailre - , ezért kritikus az adatfeldolgozás sebessége.

A Google alapfilozófiája, hogy nem high-end számítógépekre van szükség, hanem hibatűrő software-t kell fejleszteni, olyat, amelyik a menetközben kieső vasak ellenére be tudja fejezni a kijelölt feladatokat. A korábbi filozófia az volt, amíg működik a számítógép, addig működjön a software is. A Google megfordította ezt a tételt: a lényeg, hogy a software működjön. Az óriási számítási kapacitáshoz és adattároláshoz a Google hardware park rengeteg "low-end" PC-ből van felépítve. A cégnél ma már egy speciális toronyba vannak beszerelve a rackek. Hogy hány db PC-vel dolgozik a Google az viszont hétpecsétes titok. Németh András még a nagyságrendet sem árulhatta el.


Azért a Google File System (GFS) ismertetése már képet adhatott a méretekről. A cég saját maga számára kifejlesztett filerendszerének egyik legfontosabb paramétere a hatalmas írás/olvasási sebesség (akár 10 GB/s). A GFS nagy adatblokkokal dolgozik úgy, hogy a file-okat kisebb darabokra, úgynevezett chunk-okra bontja, ezek egyenként kb. 64 MByte méretűek. A MapReduce ezekkel a szétbontott file-okkal dolgozik. A rendszer több, mint 50 klasztert kezel és az adatmennyiség több, mint 1 Petabyte.

A rendszer logikáját Németh András egy prímtényezős felbontás példáján mutatta be, ahol párhuzamosítható megoldást kellett találni. Kiderült, hogy minél nagyobb a feladat a software-nek, annál több gépre van szüksége a rendszernek, ha időben akarunk eredményt kapni. Például egy szó frekvencia vizsgálatnál a "to be or not to be" kifejezés a szavak lesznek a kulcsrészek, míg az előfordulásuk adja meg az értékrészt. Ezután indul be a számítás, majd az eredmény visszaírása a GFS-re.

Alapvetően "pofonegyszerű" a Google nagy sebességű adatfeldolgozása: végy egy hibatűrő software-t (MapReduce) vedd rá, hogy az adatokat szétdarabolva akár száz gépet is használjon egyszerre. Ha pedig kiesik egy vas pótold egy újjal, de a rendszer és a számítási művelet ettől még nem áll le...

Németh András kérdésre nem válaszolva a Google keresési módszeréről egyetlen szót sem volt hajlandó elárulni. Az sem derült ki, hogy mekkora a replikáció a rendszerben és az sem, hogy milyen hálózati megoldásokat alkalmaz a Google Data Center. Kérdésre Németh András elárulta, hogy munkaideje 20 százalékában eddig még semmit nem csinált - a Google-nél lehetőség van a munkatársaknak munkaidejük 20 százalékában saját maguk által kezdeményezett és kitalált projekten dolgozni - , de tervbe vett már valamit - tette hozzá sejtelmesen.

Annak ellenére, hogy Németh András sok kérdésre nem adhatott választ előadását és azonnali kérdéseit/válaszait dörgő tapsviharral jutalmazta a Simonyi Konferencia közönsége.

Nincsenek megjegyzések: