Big data: het verwerken van grote hoeveelheden data

Met de digitalisering van onze maatschappij wordt informatie over ons (internet)gedrag steeds waardevoller. Wat is er populair? Wat was populair, maar nu niet meer? Wat stijgt in populariteit? En welke demografische data hoort daarbij? Dit zijn slechts enkele vragen die, in tegenstelling tot de ‘echte’ wereld, beantwoordt kunnen worden met data die op het internet voor het oprapen ligt.

 

Het klinkt heel eenvoudig. Zo gemakkelijk is het helaas niet. Het gaat namelijk om zó veel data dat één machine (computer) het niet alleen kan verwerken. Verticaal opschalen, oftewel het uitbreiden van de hardware van één machine, is dus niet genoeg. In plaats daarvan moet er horizontaal opgeschaald worden. Dit houdt in dat meerdere machines gezamenlijk de data verwerken. Hetzelfde geldt voor het opslaan van die data. De enorme hoeveelheden data op bijvoorbeeld Twitter en Facebook nemen vele petabytes* in beslag. Het resultaat van de analyse vergt vele malen minder opslag, maar dat dit niet op één machine gaat passen mag duidelijk zijn.

 

Vervolgens moet deze geanalyseerde data ook nog opgevraagd worden. Als dit erg vaak gebeurt, is het waarschijnlijk een goed idee dezelfde data op meerdere harde schijven op te slaan, anders kunnen er enorme vertragingen ontstaan. Daarnaast is slechts één kopie van de data erg onveilig, wat als het opslagmedium stuk gaat?

 

Het verspreiden en dupliceren van data, en zeker zo véél data, voegt een dikke laag complexiteit toe aan een proces dat op zichzelf al complex is. Hieronder een aantal van de problemen die horizontaal schalen met zich mee brengt op een rijtje. Uitgebreid met wat gesimplificeerde voorbeelden.

 

Op welke machine staat de gewenste data?

Stel, we creëren een applicatie die data uit tweets gaat analyseren. Deze data wordt vervolgens opgeslagen onder de naam van de gebruiker die de tweet heeft geschreven. Als we vervolgens alle data van een specifieke gebruiker op willen vragen, is het niet wenselijk dat álle machines die gebruikt worden voor opslag dit verzoek binnen krijgen, terwijl deze data op slechts één of enkele van deze machines staat. De juiste machine zal gestuurd moeten worden.

 

Welke machine haalt de data op?

Voordat we kunnen gaan analyseren, moeten we natuurlijk eerst de rauwe data ophalen. Als we écht veel data willen hebben, is dit te veel werk voor één machine. Er moet dus een methode verzonnen worden die deze taak kan verdelen over meerdere machines. En deze methode zelf moet ook schaalbaar zijn, want het is natuurlijk mogelijk dat het aantal bronnen toe gaat nemen.

 

Welke machine gaat de data analyseren?

Zodra de rauwe data is opgehaald, kan deze verwerkt worden. Dit wordt gedaan door de parser machines. De machine die de data heeft opgehaald (de crawler) moet deze dus doorsturen naar een parser machine. Een parser machine verwerkt de data en gaat binnen de beschikbare data op zoek naar geschikte combinaties. Deze machines kunnen een beperkt aantal datasets tegelijkertijd parsen, en dus moeten alle crawlers (verdelers) constant op de hoogte zijn van de status van de parsers. Zo kan voorkomen worden dat er wachttijden ontstaan op één parser terwijl een andere nog wel ruimte heeft.

 

Let op: een machine kan falen

Voor systemen in het algemeen geldt ook nog het volgende: een machine kan op elk moment falen. Harde schijven kunnen vol raken, het netwerk kan uitvallen en de gebruikte software kan crashen. Dit soort fouten kunnen vervelend zijn voor performance, maar kunnen afhankelijk van het project zelfs gevaarlijk zijn. Als een parser halverwege zijn taak faalt, is de data in de database waarschijnlijk niet meer consistent (en dus niet meer bruikbaar). Als hij aan het begin faalt, gaat de data verloren. En als we de crawlers zo programmeren dat ze de data doorsturen naar een andere parser in geval van falen, wordt de data misschien wel twee keer verwerkt als de eerste machine zichzelf nog kan herstellen. Dit alles hoeft echter niet altijd een probleem te zijn. Gezien de hoeveelheid data is een kleine foutmarge normaal gesproken acceptabel.

 
De database, hoe nu verder?

Merken databases

Het is mogelijk zelf een programma te schrijven die aan alle eisen voor je project voldoet. Er zijn tegenwoordig echter zo veel database systemen, in erg uiteenlopende categorieën, dat er vrijwel zeker een tussen zit die bij die eisen aansluit. Naast het feit dat het vrij weinig zin heeft het wiel opnieuw uit te vinden, is dit ook financieel vaak de beste optie. Zeker als het een opensource systeem betreft. Deze systemen kan je zelf aanpassen, wanneer sommige aspecten van de database een probleem vormen.

 

Er is echter geen ‘one size fits all’ oplossing. De eisen die het project aan de data stelt, moeten van te voren goed bekend zijn om een juiste keuze te kunnen maken. Een database is in grote lijnen erg simpel, het zijn juist de details van de eisen die bepalen of een systeem geschikt is voor het project.

 
Door: Stijn Meevis


*1 petabyte is 1024 terabytes, ~1 miljoen gigabytes, ~1 miljard megabytes

Tags:

Alle blog artikelen

The Mom Moment 6 tips voor het inzetten van Social Influencers Word een Pokéteer: Marketingtips voor Pokémon 5 Snapchat Tips voor bedrijven Snapchat in de marketingmix ALLES WAT JE WILT WETEN OVER CAPSLOCK OP CAPSLOCKDAG 10 tips voor jouw Social Video Wat wil Microsoft met LinkedIn Alles op het spel - Gamification bij bedrijven Hacken voor geld of gerechtigheid? Google pakt uit Iedereen verbonden Effectief verkeersongevallen aanpakken Google verandert in Alphabet LiveWall is jarig! De nieuwe GoPro: Nog kleiner, nog lichter, nog actiever! De belangrijkste aankondigingen op E3 2015 Zelfrijdende auto’s van Google op weg naar veilige toekomst De psychologie van Spotify Google werkt aan sneller Android Cases Q1 2015 De toekomst van Big Data The battle of the Livestream apps Youtube 360-graden video-player Spring Forward Apple Keynote Het jubileumjaar van Guus Meeuwis! De toekomst van drones The Power of X Tour Het einde van Google Glass?! De Tech-Parels van Kickstarter Creatieve intelligentie Consumer Electronics Show 2015 The internet of things in 2015 Building your audience with images LiveWall wenst iedereen Prettige Feestdagen! When Will I Be Famous?! Omroep Brabant op bezoek Trend Insights November Winnaar van de BOV-trofee Junior Kamer Hart van Brabant Meer betrokkenheid door Second Screen Meejuichen met de Holland's Got Talent App 1,000,000e PresentersWall Een theatrale verhuizing! Van Nokia 3310 tot iPhone 6 Totale online interactie op Festivals Driejarig bestaan LiveWall Oculus rift: Virtual (to) reality Persoonlijke marketing: marketing als jouw beste vriend? Zo volg je Oranje tijdens het WK in Brazilië LiveWall Research: De succes formule voor een Facebook campagne Maand report: Mei De kracht van de combinatie: Gamification en Online Marketing Facebook's App Links: nieuwe mogelijkheden in mobiele marketing Wees de ster in jouw persoonlijke aftermovie Kickstarter van start in Nederland Facebook op zijn retour? Dacht het niet! Making of the #selfie viral Wat is een connected stadium? Internet voor iedereen, waarheid of utopie? Het belang van creativiteit in marketing communicatie iBeacon, retail-baken voor de toekomst? Timeline management: Facebook en LinkedIn algoritmes Big data: het verwerken van grote hoeveelheden data Kilometervreters bij LiveWall De invloed van beloningen in online campagnes Content marketing is niet zo maar marketing Identificatie, de onbewuste beïnvloeding Het acquisitiebeleid van Google en Facebook Sociale netwerken in 2020: Hyperconnectivity Big data: positief of negatief voor de consument? De business modellen van startups Onmisbaar ingrediënt voor een succesvolle presentatie: Interactie De toekomst van Social Media Een responsive website of een native mobiele applicatie? Branded content: de GTST online activatie case De waarde en het bereik van sociale netwerken: structural holes Super Bowl XLVIII, het WK voor marketeers Social commerce, de sociale omgeving is van invloed op online aankopen User Generated Content, wat is het en wat doet het? Sponsoractivatie: het individu als sponsorobject “Could you all please grab your smartphone and.. turn it on?” Everything happens for a reason SpotifyBox launch party groot succes! InstagramWall, slideshow voor jouw event Mobiele devices veroveren reisbranche Het succes van de hashtag: #RTL7DARTS Jaaroverzicht 2013 De toegevoegde waarde van Facebook applicaties SpotifyBox, de interactieve jukebox tijdens de nieuwjaarsborrel Kerstgroet van LiveWall PresentersWall LiveWall Research: Het voorspellen van Facebook like-gedrag. Leerlingen aan de slag met het echte werk