En gul tøjelefant er blevet symbolet på det næste store skridt inden for behandling af store datamængder. Udvikleren Doug Cutting navngav sit projekt Hadoop efter sin søns legetøj. Dengang var han hos Yahoo, men i dag ligger Hadoop under Apache-paraplyen af open source-projekter.
Hadoop er en samling teknologier, der er vokset ud af den såkaldte MapReduce-teknologi, som Google udviklede. Formålet er at gøre arbejdet med store datamængder billigere og mere fleksibelt. Behovet opstod, efterhånden som Googles indeks over websider voksede sig større, end traditionelle relationsdatabaser kan klare.
Med MapReduce opsplitter man en behandlingsopgave i en række underopgaver, der kan udføres parallelt. Det er Map-delen af teknologien. Underresultaterne bliver herefter samlet, så man får et endeligt resultat via Reduce-delen.
Det kan Hadoop hjælpe med. En vigtig komponent her er Hadoop Distributed File System, der lagrer data i et distribueret system af noder. Hver node er en computer med lokale harddiske.
– Når en fil skal gemmes, giver man den til en central node. Den splitter filen op i dele, som der typisk gemmes tre kopier af på tre forskellige noder. Systemet kender den fysiske opsætning, så det for eksempel ved, hvilke noder der sidder i samme rackskab. På den måde kan det sikre, at kopierne ligger langt fra hinanden, så et nedbrud i et rackskab kun rammer en af kopierne, forklarer Michael Frandsen fra konsulentfirmaet Platon Infrastructure.
Farvel til SAN'et
Han gør opmærksom på, at Hadoop dermed gør op med den traditionelle tænkning inden for systemer med høj tilgængelighed:
– Her vil man normalt opbygge et SAN (Storage Area Network, red.) med dublerede forbindelser til dyre Fibre Channel-diske. I Hadoop er der ikke noget SAN, og både CPU'er og diske er standardvarer. Derfor har man råd til at købe ekstra af dem. Systemet er fejltolerant på den måde, at den centrale node distribuerer opgaverne ud til slavenoderne. Hvis en af dem ikke vender tilbage med et svar, sender den opgaven ud til en anden node, siger han.
Til at manipulere med data i Hadoop kom der først sproget Pig. Det er et stærkt sprog, men også svært, mener Michael Frandsen.
– Da Facebook kom med sproget HiveQL, blev mængden af potentielle Hadoop-brugere hundrede gange større. For det ligner det SQL, som folk kender i forvejen, bare med nogle ekstra fordele, forklarer han.
En af fordelene er, at HiveQL kan parse tekststrenge. Dermed kan man søge i tekster, uden at de først skal omformes til rækker og kolonner. Det kan for eksempel bruges til at finde bestemte værdier af parametre i logfilen fra en webserver.
Skemaløs database
Hadoop giver mulighed for at lade datamængden vokse lineært. Man tilføjer bare flere datanoder, når der bliver brug for det. Men systemet har også fordele ved mindre datamængder.
Hadoops filsystem kan opfattes som en database uden et databaseskema. Det giver fleksibilitet, fordi man kan søge i data, selvom man ikke kender deres struktur på forhånd. Derfor mener Michael Frandsen også, at det er forkert kun at se Hadoop som noget, man bruger til big data:
– Teknologien giver en fleksibilitet, som kan komme enhver data warehouse-installation til gode. Den store forskel er, at vi kan sætte data ind med et nyt format uden at skulle ændre i et skema – og ofte uden at skulle ændre i forespørgslen. Så Hadoop kan give agilitet, selvom man ikke har brug for at behandle gigantiske datamængder, mener han.
I traditionel business intelligence foretager man udtræk af data over flere omgange. Med Hadoop har man plads til at gemme alle data fra sit kildesystem. Derefter arbejder man direkte på dataene uden at skulle foretage komplicerede ETL-procedurer (Extract, Transform, Load).
Michael Frandsen anbefaler danske it-organisationer at prøve kræfter med Hadoop. Han anslår, at man kan komme i gang med Hadoop for under 100.000 kroner.