Ga direct naar inhoud

Is het Hadoop binnenkort ten einde?

Capgemini
2018-06-06

Het veld van Big Data is in een hele snelle beweging. Denk je het ene jaar nog dat een bepaalde tool het helemaal gaat maken, het volgend jaar blijkt dat de betreffende tool is afgeschreven en is vervangen door een nóg betere tool. De ene ontwikkeling tuimelt over de andere ontwikkeling. Bij dit alles leek Hadoop een vast ankerpunt. Daar bovenop waren allerlei technieken neergezet waar veel beweging zat. Maar het stond allemaal wel op dat vaste fundament van Hadoop. Maar nu lijkt Hadoop zelf ook weer ter discussie te staan. Hoe dat nou zit, is onderwerp van deze bijdrage.

Hadoop: name nodes en data nodes

Ik ga even terug in de tijd. Een paar jaar geleden begonnen allerlei bedrijven met initiatieven op het gebied van Big Data. De gemeenschappelijke noemer was dat er sprake was van veel data die moest worden verwerkt. Daarbij ging het om zoveel data, dat ze deze niet op een enkele server geplaatst kon worden. Om die reden werden de data opgesplitst en verdeeld over meerdere machines. Ruwweg zag de technische opbouw er als volgt uit:

Er werden een stuk of 5 stevige servers gekocht. Daarbij werden een viertal servers ingericht als “data node”. Die vier machines namen een kwart van de data- en rekentaken op zich. Na afloop van hun werk zorgde de “name node” ervoor dat de deelresultaten konden worden samengevoegd tot een totaalresultaat, dat aan de gebruiker kon worden teruggegeven. Deze “name node” hield bij op welke ”data node” relevante data stond. Daarmee fungeerde de “name node” als de spin in het web die ervoor zorgde data de “data nodes” zich konden concentreren op hun deeltaken. Zo’n “name node” is dan ook de achilleshiel van een dergelijk Big Data platform. Als de “name node” om wat voor reden uitvalt, kan er niets meer gebeuren in een Big Data platform. De afzonderlijke “data nodes” worden niet langer aangestuurd en moeten werkeloos blijven wachten op instructies.

GlusterFS

In een standaard Hadoop opstelling is de “name node” de achilleshiel van het geheel. Zonder de “name node”, geen coördinatie. Geen berekening is mogelijk.

GlusterFS heeft een andere opzet. De functionaliteit van de “name node” wordt uitgespreid over de afzonderlijke “data nodes”. Daarmee zijn we af van de kwetsbare “name node”.

De afzonderlijke “data nodes” kennen het systeem van data duplicatie. Een blok gegevens wordt meerdere keren op verschillende servers opgeslagen. Al met al wordt een blok op drie verschillende machines opgeslagen. De kans dat een enkele server onderuitgaat, is natuurlijk heel reëel. Als je de data op meerdere machines hebt opgeslagen, zijn de data pas verloren als alle machines tegelijkertijd onderuitgaan. In deze opzet zijn de datablokken op drie machines opgeslagen. De kans dat alle drie machines tegelijkertijd de geest geven, is verwaarloosbaar. Daarmee zijn de data veilig.

Bij GlusterFS zijn de gegevens van de “name node” ook redundant opgeslagen. Daarmee zijn deze gegevens ook beschermd tegen de uitval van een server. Valt er een machine uit, dan kunnen de gegevens van een andere machine gehaald worden. Daarmee heeft GlusterFS een interessante optie bij vervanging van Hadoop.

Quantcast File System

Hadoop heeft de gegevens redundant opgeslagen als verzekering tegen uitval een “data node”. Al met al gaat het om een factor drie. Een blok van een TB vereist daarmee 3 TB om het op een Hadoop platform op te slaan.

De vraag is of het echt nodig is om zoveel harddisk ruimte te reserveren voor dataopslag. Je bent immers niet alleen de harddisk ruimte nodig, maar je hebt ook de bandbreedte op het netwerk nodig om een TB drie keer over het netwerk te sturen om op te slaan.

Quantcast gaat efficiënter om met redundante dataopslag. Dankzij een Reed-Solomon algoritme is het mogelijk om een TB in 1 ½ TB diskruimte redundant op te slaan. Dat betekent minder diskruimte en minder netwerkbreedte die je nodig hebt bij redundante dataopslag.

Isilon OneFS

Alle systemen gaan ervan uit dat het netwerk verkeer beperkt blijft. De data worden zoveel mogelijk geprocessed op de machine waarop de data staan. Pas als de data geprocessed zijn, worden de resultaten via het netwerk naar een centrale plaats gestuurd.

Deze aanpak gaat ervan dat we het doen hebben van servers met een behoorlijk grote harde schijf. Als we naar het datacentrum van een willekeurige organisatie gaan, zien we dat de meeste servers een andere bouw hebben. De moderne server heeft zijn data op een SAN opgeslagen. Het idee daarbij is dat je op die manier efficiënt omgaat met harddisk ruimte. Heb je even wat extra ruimte nodig, dan krijg je dat op de SAN toegewezen; heb je de ruimte niet nodig, dan geef je de ruimte terug aan de SAN.

Maar als we deze opzet ook toepassen op de servers op een Big Data platform, zien we dat er nog steeds veel netwerkverkeer is. De data die horen bij een bepaalde server, worden van een SAN gehaald met bijbehorend netwerkverkeer. Dat wilden we nu precies niet met Big Data. We wisten van het begin af aan dat we heel veel data hadden. Om die reden hadden we de data over meerdere machines verdeeld. Om deze data te verwerken wilden we deze verwerken op de machine waarop die data stonden. Zo zouden we een netwerk bottleneck vermijden. Maar door het gebruik van een SAN krijgen we datanetwerk bottleneck terug.

Isilon OneFS pakt dat probleem aan. Het is een platform die aansluit bij het gebruik van een SAN. Isilon houdt bijvoorbeeld rekening met de plaats van data op een rack. Als men daarmee rekening houdt, kan het netwerkverkeer verminderd worden en kunnen processen sneller afgewikkeld worden.

S3 (Simple Storage System)

Alle bovenstaande systemen gaan uit van de plaatsing van servers in het datacentrum van de organisatie. Maar dat betekent de aanschaf van dergelijke machines en de inrichting ervan. De aanschaf en inrichting vraagt best wel wat tijd. En misschien heb je te veel machines aangeschaft. Wat dan? Misschien kun je de servers verkopen. Maar dan moet je wel een koper vinden, die precies zo’n machine nodig heeft.

De huur van machines in de cloud kan een oplossing bieden. Organisaties als Amazon bieden dit aan. De huur van een extra machine is snel gerealiseerd; omgekeerd is het afstoten van een machine ook zo gebeurd.

De machines die je huurt, huur je alleen voor de periode dat je ze echt nodig hebt. Daarmee is het ook mogelijk dat je de initiële aanschafkosten deelt met andere organisaties die de machine in de loop der tijd nodig hebben. Dat betekent dat je per saldo ook goedkoper uit bent. Dit wordt nog versterkt omdat een organisatie als Amazon zich volledig heeft toegelegd op het beheer van grote aantallen servers. Dat betekent ook weer schaalvoordelen die worden vertaald in lage huurprijzen. In diverse bronnen wordt geclaimd dat de opslag van 1 TB 23 dollar per maand zou kosten. Dit ligt ver onder kostprijzen die bij servers in datacentra bij bedrijven worden gehanteerd.

Amazon heeft ook een nieuwe file structuur voorgesteld als alternatief voor Hadoop. Deze nieuwe structuur heet S3: Simple Storage System. Op deze structuur zijn allerlei tools neergezet zoals Redshift dat een hele prima database blijkt te zijn.

Conclusie

Het is niet langer zo dat Big Data altijd op een Hadoop platform worden neergezet. In de afgelopen tijd zijn allerlei alternatieven ontwikkeld. Ieder van die alternatieven hebben hun eigen voor- en nadelen. In concrete situaties kun je zo uitkomen op andere uitkomsten als Hadoop als het gaat om het plaatsen van Big Data.

Ikzelf denk dat toekomstige initiatieven met Big Data in de Cloud zullen worden uitgevoerd. Het gemak waarmee je dan extra servers bij kunt huren is erg aantrekkelijk voor deze activiteiten. En als er eenmaal gekozen wordt voor de Cloud, zullen bedrijven zich conformeren aan het soort van platform dat daar wordt aangeboden. Dat kan best wel S3 zijn. Als een dergelijk platform een oplossing biedt voor de vragen van het bedrijf, zullen bedrijven er graag gebruik van maken.

Door de oogharen heen gekeken, doet dit wel een beetje denken aan andere nutsvoorzieningen als elektriciteit. De meeste organisaties nemen elektriciteit af van nutsbedrijven zoals Eneco. Hoe die elektriciteit precies wordt opgewekt, is niet interessant voor een organisatie. Ze zijn alleen geïnteresseerd in de toepassing van elektriciteit voor de eigen machines.

Voor de opslag van Big Data geldt iets vergelijkbaars. Organisaties nemen serverruimte af in de Cloud. Hoe dat precies is georganiseerd, is voor de organisaties niet zo belangrijk. Bedrijven zijn  alleen geïnteresseerd in de veilige opslag van hun gegevens.