voorwoord - managementboek.nl€¦ · big data foundation-certificaat 185 big data...
TRANSCRIPT
Voorwoord
De laatste tijd kun je er niet meer omheen, Big Data is overal. Ik geloof
dan ook oprecht dat Big Data de toekomst is. Uit verschillende onder-
zoeken wordt duidelijk dat met Big Data enorme winst te behalen valt.
Organisaties zien het belang van Big Data dan ook in, maar er zijn nog
steeds grote uitdagingen die het succesvol implementeren van Big Data
verhinderen. Uit onderzoek blijkt dat een ruime meerderheid van alle
organisaties in Nederland, België, Groot-Brittannië en Frankrijk de
komende jaren een groot tekort aan Big Data-specialisten verwacht.
De hoeveelheid data neemt steeds meer toe in zowel gestructureerde als
ongestructureerde vorm. Voor organisaties is het nu de uitdaging om
deze gegevens te analyseren en vervolgens tactisch in te zetten. Dankzij
Big Data krijgen organisaties een 360-gradenbeeld van hun klanten. Zo
kun je met predictive analytics trends identificeren, consumenten beter
begrijpen, de prestaties van je organisatie verhogen, gedrag voorspellen
en data-gedreven besluiten nemen.
Voor jou biedt dat natuurlijk een enorme kans. We hopen je dan ook
met dit boek een goede stap in de richting te geven om jezelf onmisbaar
te maken in het Big Data-landschap. Hoe geweldig is het dat jij straks
diegene bent die betekenis geeft aan de verzamelde, losse data en dat
jouw inspanningen tot betere en waardevollere processen leiden?
Jij als (beginnende) Big Data-specialist staat aan de vooravond van het
leggen van een goede basis om alle uitdagingen te lijf te gaan. Als je het
boek gelezen hebt weet je hoe het proces verloopt, heb je kennis over
Big Data-analyticssystemen en ken je de principes achter de architectuur.
Bovendien weet je hoe je datamining en voorspellende modellen kunt
toepassen en wat dat vervolgens kan opleveren. Maar misschien belang-
rijker nog: als je het boek uit hebt weet je de zin en onzin van Big Data.
Als je het boek net zo enthousiast doorspit als wij hebben samengewerkt
om de belangrijkste aspecten van Big Data samen te brengen in dit boek,
weet ik zeker dat je met datzelfde enthousiasme menig project tot een
succesvol einde brengt. Bij dezen wil ik je dan ook heel veel succes wen-
sen met jouw eerste project: de basis voor Big Data leggen.
Igo Blom, Sales expert
Eduvision
ix
Inhoud
Voorwoord vii
Hoofdstuk 1: Inleiding 15
Waarom? 15
Waarover? 16
Voor wie? 17
Hoe? 19
Hoofdstuk 2: Big Data 21
Inleiding 21
Geschiedenis 22
Beschrijving 24
Relaties 26
Toepassingen 28
Hoofdstuk 3: Opslag 33
Inleiding 33
Dataontwerp 34
Dataopslag 37
Van data naar informatie 41
Opslag van informatie 44
Hoofdstuk 4: Proces 51
Inleiding 51
Data-analyse 52
Datamining 57
Big Data-proces 58
Predictive analytics 65
CAP-theorema 67
Hoofdstuk 5: Beslisboom 71
Inleiding 71
Het probleem 72
De oplossing 73
De beperkingen 76
Hoofdstuk 6: Neurale netwerken 79
Inleiding 79
Het probleem 80
De oplossing 82
De beperkingen 85
Hoofdstuk 7: Clusteren 89
Inleiding 89
Het probleem 90
De oplossing 91
De beperkingen 95
Hoofdstuk 8: Lineaire regressie 99
Inleiding 99
Het probleem 100
De oplossing 102
De beperkingen 104
Hoofdstuk 9: Naaste buur 109
Inleiding 109
Het probleem 110
De oplossing 112
De beperkingen 113
Hoofdstuk 10: Regels afleiden 117
Inleiding 117
Het probleem 118
De oplossing 121
De beperkingen 128
SUCCES MET BIG DATA
x
Hoofdstuk 11: Zin en onzin 131
Inleiding 131
Kwaliteit 132
Presentatie 139
Overdenkingen 142
Hoofdstuk 12: Ethiek en Big Data 145
Inleiding 145
Het probleem 146
Oplossingen? 147
Reflectie 149
Hoofdstuk 13: Uitleiding 153
Waarom (niet)? 153
Waarover (niet)? 153
Voor wie (niet)? 154
Hoe (niet)? 154
Bijlage A: Praktijkvoorbeeld 157
Inleiding 157
Game-company 157
Big Data-traject 158
Bijlage B: Afleidingen 163
Beslisboom 163
Entropie en informatiewinst 164
Kleinstekwadratenmethode 166
Bijlage C: Starten met Big Data 171
Aanpak 171
Hobby 172
Professioneel 175
Multinational 176
Inhoud
xi
Bijlage D: Opensourcetools 179
Hadoop Tools 179
Big Data-analyseplatforms en -tools 180
Databases/datawarehouses 180
Business intelligence 181
Datamining 181
Programmeertalen 181
Big Data-search 182
OLAP en datavisualisatie 182
Bijlage E: Certificering 185
Over de certificaten 185
Big Data Foundation-certificaat 185
Big Data Practitioner-certificaat 186
Index 188
SUCCES MET BIG DATA
xii
1 Inleiding
1.1 Waarom?
Dit boek geeft een introductie in Big Data, op dit moment een belang-
rijk onderwerp. Veel bedrijven en instellingen hebben de indruk dat hun
voortbestaan voor een belangrijk deel afhangt van het feit of zij in het
komende decennium Big Data kunnen gebruiken. Gevolg is dat veel
bedrijven en instellingen zo veel mogelijk gegevens verzamelen van zo
veel mogelijk acties en transacties. Toch is slechts het verzamelen van
alleen gegevens net zoiets als het vergaren van heel veel geld. Op zich is
geld, net als heel veel gegevens, niets waard. Wie veel geld heeft kan er
letterlijk in zwemmen, maar dan nog heeft het geen waarde. Maar er zijn
wel meer overeenkomsten tussen geld en Big Data. Het is net zo lastig
om aan veel geld te komen als aan veel (goede) gegevens. Bovendien
heeft geld waarde omdat je er dingen voor kunt kopen en Big Data heeft
waarde omdat er veel (verborgen) informatie in te vinden is.
dagobertOm de (verborgen) informatie uit Big Data te halen wordt een hele serie
gereedschappen aangeboden, die allemaal zonder uitzondering volgens
de leverancier de allerbeste zijn. De vraag blijft wel, welke van het aan-
geboden gereedschap voor uw bedrijf en voor uw toepassing nu echt het
15
Afbeelding 1.1: Dagobert Duck die liever zwemt in zijn geld dan dat hij het nuttig gebruikt.
beste is. Een andere vraag is natuurlijk: wie mogen de Big Data gaan
onderzoeken en wie hebben toegang tot de resultaten? Daarnaast is het
de vraag op welke manier de resultaten van alle onderzoeken en bewer-
kingen gepresenteerd moeten worden. Ook hier geldt dat dit niet alleen
afhankelijk is van de resultaten zelf, maar ook van het publiek waarvoor
de presentaties gemaakt worden.
Het waarom van dit boek is dat het een overzicht geeft van de
(on)mogelijkheden van het onderzoeken en verwerken van Big Data en
richting geeft aan het gebruik ervan. Dit boek geeft de gemiddelde
gebruiker van de resultaten van analyses van Big Data houvast aan-
gaande de inhoud, betekenis en achtergrond van de informatie waarmee
gewerkt wordt. Met die kennis is het ook mogelijk om een indruk te krij-
gen van het nut en het belang van Big Data voor de eigen organisatie.
1.2 Waarover?
Dit boek gaat over het verzamelen van Big Data, over de manier waarop
Big Data verwerkt kan worden en op welke manieren Big Data kan spre-
ken. Nu kan elke stap tot in de kleinste details omschreven worden,
maar dat is niet de weg die hier gevolgd wordt. In dit boek wordt elke
stap beschreven vanuit het gezichtspunt van de mensen die (dagelijks)
werken met de resultaten van het onderzoeken van Big Data en die de
uitkomsten daarvan vertalen naar nieuwe plannen, nieuwe producten of
een nieuwe aanpak voor bestaande problemen. Daarom wordt er in dit
boek anders gekeken naar de drie grote stappen van het proces:
� Big Data verzamelen Dit gaat vooral over de verschillen met
‘gewone databasesystemen’ en de gevolgen die dit meebrengt bij het
opzetten van een computersysteem voor het verwerken ervan.� Big Data onderzoeken Dit bespreekt de belangrijkste technieken
om Big Data te onderzoeken, geeft hun belangrijkste voor- en nadelen
en beschrijft van elk van deze technieken voor welk soort onderzoek
ze gebruikt worden.� Big Data laten spreken Dit kan alleen als de sterke en zwakke
punten bekend zijn, en dat met een goed zicht op de beperkingen.
Geen enkele techniek geeft de absolute waarheid. Bovendien speelt
SUCCES MET BIG DATA
16
mee dat verkeerd gebruik of verkeerd vertalen van de resultaten van
onderzoek van Big Data erg snel de grens van het ethisch toelaatbare
kan overschrijden. Het inzicht dat Big Data ook hier ‘op het scherp
van de snede’ werkt is van het grootste belang bij het vertalen van de
uitkomsten.
Bij het bespreken van deze drie onderwerpen wordt zo veel mogelijk de
techniek buiten beschouwing gelaten: dit is voor de specialisten (para-
graaf 1.3). Belangrijker is het aangeven van de onderlinge relaties tussen
de verschillende onderwerpen en de (constante) manier waarop zij elkaar
beïnvloeden. Werken met Big Data betekent werken in een team waarbij
iedere medewerker belangrijk is door zijn eigen taak en positie. Feitelijk
gaat dit boek over de gemeenschappelijke basis voor de teams die wer-
ken met Big Data.
1.3 Voor wie?
Hoewel dit boek specifiek gaat over een onderwerp uit de wereld van de
ICT is het niet uitsluitend geschreven voor deze doelgroep. Zoals hier-
voor uiteengezet is Big Data te belangrijk, te omvangrijk en te veel-
omvattend om alleen binnen de wereld van de ICT te houden. Iedereen
krijgt op kortere of langere termijn met de resultaten van Big Data te
maken, niet alleen medewerkers van de ICT-afdeling. Wel verschilt per
groep medewerkers het niveau en de diepgang van de kennis, ondanks
het feit dat ze gezamenlijk één team vormen:
� Gebruiker van Big Data Deze persoon heeft algemene kennis
nodig van de manier waarop Big Data onderzocht wordt en hoe de
resultaten tot stand komen. Dit betekent kennis van de principes van
verwerking, opslag, onderzoek en rapportage.� Analist van Big Data Deze persoon heeft naast een algemene ken-
nis van het hele proces een diepgaande kennis nodig van de technie-
ken voor het onderzoeken van Big Data en de nauwkeurigheid en
trefzekerheid van dergelijke onderzoeken.� Programmeur van Big Data Deze persoon heeft naast algemene
kennis van het hele proces een diepgaande kennis nodig betreffende
1 Inleiding
17
het doelmatig benaderen van grote hoeveelheden informatie en aan-
gaande het verwerken van deze informatie� Ontwerper van Big Data Deze persoon heeft naast algemene ken-
nis van het hele proces een diepgaande kennis nodig van de opbouw
van de systemen die het verzamelen, opslaan en beschikbaar stellen
van grote hoeveelheden gegevens en informatie mogelijk maken.� Manager van Big Data Deze persoon heeft naast algemene kennis
van het hele proces een brede kennis nodig om een team dat vaak op
de grens van het technisch haalbare zoekt naar bedrijfskundig verant-
woorde oplossingen bij het gebruik van Big Data te begeleiden en te
enthousiasmeren.
Iedereen die werkt met Big Data heeft, ongeacht zijn of haar positie bin-
nen het proces, een goede basiskennis nodig. Juist die gemeenschappe-
lijke basiskennis maakt een goede en zinvolle communicatie tussen de verschillende betrokkenen mogelijk en zorgt voor ‘teamwork’ (afbeel-ding 1 . 2 ) .
scrum
SUCCES MET BIG DATA
18
Afbeelding 1.2: De optimale vorm van ‘teamwork’ op het rugbyveld, de scrum.
1.4 Hoe?
Om de beginselen van het gebruik van Big Data uit te leggen begint dit
boek met een inleiding over Big Data zelf en de relatie met ‘gewone
data’ (hoofdstuk 2). In de volgende hoofdstukken (3 en 4) wordt de
totale procesgang bij het verwerken van Big Data uitgelegd en aangege-
ven wat de problemen en oplossingen zijn bij het opslaan en verwerken
van (zeer) grote hoeveelheden informatie. De belangrijkste technieken
voor het verwerken van de gegevens zelf komen in de hoofdstukken
daarna aan bod. Achtereenvolgens zijn dit de beslisboom (hoofdstuk 5),
neurale netwerken (hoofdstuk 6), clusteren (hoofdstuk 7), lineaire regres-
sie (hoofdstuk 8), naaste buur (hoofdstuk 9) en afleiden van regels
(hoofdstuk 10).
De volgende twee hoofdstukken gaan over het omgaan met de uitkom-
sten van de analyses van Big Data. Hoofdstuk 11 concentreert zich op
de zin en de onzin van grootschalige analyses van heel veel informatie en
hoe de kwaliteit hiervan bewaakt en geborgd kan worden. Hoofdstuk 12
kijkt ten slotte naar de ethische kant. Het laatste hoofdstuk, het nawoord
(hoofdstuk 13) vat de belangrijkste zaken van opzet en aanpak samen.
De bijlagen geven aanvullende informatie bij de verschillende hoofd-
stukken. Bijlage A bevat een praktijkvoorbeeld van het gebruik van Big
Data en bijlage B geeft enige wiskundige onderbouwing van gebruikte
analysemethoden. In bijlage C wordt een korte handleiding gegeven hoe
met verschillende algemeen toegankelijke Big Data-toolkits geoefend
kan worden in het toepassen van de verschillende technieken en metho-
den. Een overzicht van de betreffende toolkits is in bijlage D te vinden.
Tot slot leest u meer over Big Data-certificering in bijlage E.
1 Inleiding
19
2 Big Data
2.1 Inleiding
Wil een boek over Big Data zinvol en bruikbaar zijn, dan is het belang-
rijk dat duidelijk is wanneer er sprake is van data en wanneer van Big
Data. Met de huidige computertechniek is het geen probleem om grote
hoeveelheden gegevens (data) van verschillende bronnen op te slaan in
één groot systeem. Vervolgens kunnen de gebruikers deze gegevens op
verschillende manieren benaderen, op verschillende manieren rangschik-
ken of de gegevens toepassen bij het ontwikkelen van nieuwe producten.
Om dit soort acties mogelijk te maken worden de gegevens in een data-
base opgeslagen. Een dergelijke database kan bijzonder veel gegevens
bevatten, bijvoorbeeld gegevens van alle belastingplichtigen of de gege-
vens (brieven, röntgenfoto’s, rapporten, laboratoriumuitslagen) van alle
patiënten van een groot ziekenhuis. Toch wordt er in dit soort gevallen
niet gesproken over Big Data maar gewoon over een big database.
De eerste vraag is dan ook waar de scheiding ligt tussen Big Data en een
big database. De tweede vraag die direct in het verlengde ligt betreft de
technieken die gebruikt kunnen worden bij het hanteren van Big Data,
een proces dat datamining wordt genoemd. Zijn dezelfde technieken op
dezelfde manier toepasbaar als bij een database of is een andere aanpak
nodig?
Een antwoord op de eerste vraag wordt in dit hoofdstuk gegeven. Hier-
voor wordt eerst naar de geschiedenis van gegevensopslag gekeken
(paragraaf 2.2). Daarna wordt een meer formele beschrijving van het
begrip Big Data ontwikkeld (paragraaf 2.3) vanuit het meer algemene
begrip data. Dan volgt paragraaf 2.4 waarin gekeken wordt naar de rela-
ties met de ‘gewone’ database en databasetechnieken. Ten slotte geeft de
laatste paragraaf een kort overzicht van mogelijke toepassingen.
Voor het beantwoorden van de tweede vraag, welke technieken zijn
beschikbaar voor datamining, is meer ruimte nodig. Zo gaat het vol-
gende hoofdstuk (hoofdstuk 3) eerst nader in op de methodiek van het
21
verzamelen, opslaan en indelen van data. Vervolgens gaat hoofdstuk 4 in
algemene zin in op de technieken en methoden voor het analyseren van
de gegevens. Daarna volgen zeven hoofdstukken waarin de verschillende
methoden voor het onderzoeken van deze data worden beschreven. In
hoofdstuk 12 komen de do’s and dont’s van het analyseren van data aan
de orde. Het laatste hoofdstuk (Uitleiding, hoofdstuk 13) kijkt terug en
relativeert want ook hier is niet alles in beton gegoten en ook hier
bestaan vele wegen die naar Rome leiden.
2.2 Geschiedenis
Met de uitvinding van het schrift vond de mensheid niet alleen de
bureaucratie uit maar ook de grootschalige opslag van gegevens. Zo is
een groot deel van onze kennis van het Nieuw-Assyrische rijk (negende
tot zevende eeuw voor onze jaartelling) gebaseerd op gegevens uit het
Koninklijke archief van Ashurbanipal (685 BCE tot 627 BCE, afbeel-
ding 2.1). Op zijn hoogtepunt heeft deze bibliotheek meer dan 30.000
documenten en voor het beheer waren geen computers met een data-
SUCCES MET BIG DATA
22
Afbeelding 2.1: Een beeld van Ashurbanipal, de laatste grote heerser van het Nieuw-Assyrische rijk.
base management system (DBMS) beschikbaar. Door de verschillende
teksten slim in te delen was het mogelijk om elk gewenst document te
vinden. Feitelijk pasten de Assyrische bibliothecarissen technieken toe
die tegenwoordig gemeengoed zijn bij het opzetten en vullen van een
database.
ashurbanipalData is de verzamelnaam voor gegevens en dan in het bijzonder
voor gegevens die we in een computersysteem opslaan. Voorbeel-
den van data zijn een naam, een adres, het rekeningnummer van
een bankrekening, het saldo op die bankrekening en een foto van
de rekeninghouder. Data worden in een computer opgeslagen in
één of meer bytes, waarbij een byte staat voor één teken, letter of
getal. De grootte van een database wordt tegenwoordig in GB
(gigabyte = 109 bytes) maar vaak ook al in TB (terabyte = 1012
bytes) gegeven. De echt grote databases worden opgegeven in PB
(petabyte = 1015 bytes) en het is de verwachting dat de EB (exa-
byte = 1018 bytes) binnenkort ons leven binnenwandelt.
Deze data worden gebruikt door computerprogramma’s die
transacties uitvoeren op basis van deze data. Een aantal trans-
acties dat bij elkaar hoort vormt samen een proces.
Met het verstrijken van de eeuwen worden de bibliotheken steeds groter
en groter maar nooit is er sprake van Big Data. Elke bibliotheek blijft
toegankelijk via een kaartenbak en eenvoudige zoekstrategieën. Ook
andere grote gegevensverzamelingen bleven met eenvoudige technieken
toegankelijk, ondanks de vaak enorme hoeveelheden. De belangrijkste
reden hiervoor was de tussenkomst van de mens bij het invoeren van
nieuwe gegevens. Gelijktijdig met het invoeren werden de nieuwe gege-
vens gerubriceerd en ingebed in de gebruikte systematiek van de gege-
vensopslag. Maar rond de laatste eeuwwisseling kwam er een kink in
deze eeuwenoude kabel.
Aan het begin van deze eeuw werd het mogelijk om steeds grotere hoe-
veelheden gegevens automatisch en zonder de tussenkomst van mensen
op te slaan. Een belangrijke stuwende kracht achter deze ontwikkeling
waren de sterk verbeterde mogelijkheden van geautomatiseerde syste-
men. Zo maakte de groei van de opslagsystemen het mogelijk om veel
2 Big Data
23
meer gegevens zonder meer op te slaan, dus zonder enige selectie
vooraf. Dit betekende dat er veel gegevens ongestructureerd werden
opgeslagen en dat bij een deel van de systemen deze opslag een min of
meer continu proces is. Het is in deze situatie dat de conventionele me-
thoden voor gegevensbeheer niet meer bruikbaar waren en het is hier
dat voor het eerst de term Big Data werd gebruikt.
2.3 Beschrijving
Op grond van de ontstaansgeschiedenis is het mogelijk om een aantal
eigenschappen van Big Data af te leiden:
� eigenschap 1 Grote hoeveelheden gegevens.� eigenschap 2 Geen controle op het compleet zijn van elk onderdeel.� eigenschap 3 Afwezig zijn van enige ordening.� eigenschap 4 De hoeveelheid gegevens kan op elk moment (sterk)
veranderen.
SUCCES MET BIG DATA
24
Afbeelding 2.2: Onderlinge verhoudingen tussen Big Data en andere systemen voor het hanteren en
opslaan van gegevens.
bigdata_and_databaseVergeleken met de conventionele (gestructureerde) opslagsystemen valt
direct op dat Big Data zich onderscheidt van andere systemen door de
afwezigheid van enige ordening of structuur in combinatie met de grote
hoeveelheid gegevens (afbeelding 2.2) waarvan niet gegarandeerd is
dat elk onderdeel compleet is. Indien aan één van de voorwaarden is
voldaan, dus de afwezigheid van ordening of zeer veel gegevens, dan is
er geen sprake van Big Data, maar slechts van een ongeordende verza-
meling gegevens cq. zeer veel gegevens. Zo kunnen grote hoeveelheden
gegevens met een zekere ordening uitstekend benaderd worden met de
bestaande databasesystemen. Kleinere hoeveelheden ongeordende gege-
vens zijn uitstekend op een ad-hocbasis te benaderen. Worden dergelijke
verzamelingen vaker benaderd, dan is het lonend om ze alsnog te orde-
nen en op te nemen in een bestandssysteem. Juist de combinatie van
beide eigenschappen maakt dat we in een geheel afwijkende situatie zit-
ten. Hieruit volgt dat een definitie van Big Data kan zijn:
Big Data is een zo grote hoeveelheid ongestructureerde en (soms)
niet-complete set gegevens dat verwerking met conventionele
databasesystemen niet mogelijk is.
Een andere definitie legt juist de nadruk op de belangrijkste verschillen
tussen ‘gewone data’ en ‘Big Data’ waarbij verwezen wordt naar de drie
V’s uit één van de eerste publicaties:
Big Data zijn verzamelingen gegevens die zich kenmerken door de
grote hoeveelheid (volume), de grote snelheid waarmee nieuwe ge-
gevens ontstaan (velocity) en de grote onderlinge variatie (variety).
In dit boek wordt vanuit de combinatie van beide definities van het
begrip Big Data gewerkt. Deze (combinatie van) definitie(s) wordt ook
gebruikt bij het bespreken van de verschillende zoekstrategieën en bij
het aanreiken van oplossingen bij gerezen problemen.
2 Big Data
25
2.4 Relaties
Een logische vraag is in hoeverre Big Data en databasesystemen
ondanks hun duidelijk andere wortels en andere manier van benaderen
aan elkaar gerelateerd zijn. Een gebruiker gaat in beide systemen op zoek
naar informatie en die informatie wordt op één of andere manier met
zoekopdrachten verzameld. Juist op dat moment spelen de bepalende
verschillen tussen beide systemen een grote rol:
� Big Data Ongeordend en deels incompleet, dus een zoekopdracht
werkt altijd op de hele verzameling en heeft (soms) aanvullende zoek-
termen nodig.� Databasesysteem Geordend en compleet, dus de meest voor-
komende zoekopdrachten werken alleen op indexbestanden.
Gevolg van deze andere strategie is dat het zoeken in Big Data over het
algemeen meer tijd vraagt. Dit verschil in zoektijd wordt overigens niet
alleen veroorzaakt door de afwezigheid van ordening in Big Data maar
ook door de grootte van de gegevensverzameling. Daarnaast is het maar
de vraag of in beide gegevensverzamelingen met dezelfde zoekstrate-
gieën gewerkt kan worden.
De praktijk leert echter dat er naast zuivere ‘databasesystemen’ en zui-
vere ‘Big Data’ ook nog gegevensverzamelingen bestaan met kenmerken
van beide systemen. Dit betekent dat een deel van de gegevens inder-
daad een structuur kent maar dat die structurering ontbreekt bij een
ander deel. Wordt een gemengd systeem geschematiseerd (afbeelding
2.3) dan is ook direct duidelijk dat verschillende gereedschappen (tools)
niet voor alle soorten informatie toepasbaar zijn.
Een voorbeeld van een dergelijk gemengd systeem is een ziekenhuis-
informatiesysteem waarin allerlei medische informatie van iemand wordt
opgeslagen. Voor een deel gaat het hier om een databasesysteem met
indexering, bijvoorbeeld door gebruik te maken van zoektermen als
geboortedatum, adres en behandelend arts. Dit soort gegevens is een-
voudig te controleren op volledigheid en juistheid. Dat ligt anders bij
laboratoriumgegevens en beeldinformatie. Op het eerste gezicht is ook
SUCCES MET BIG DATA
26
hier een indexering mogelijk op externe eigenschappen, zoals type appa-
raat of bepaling en dergelijke.
professional_systemHet wordt anders als de waarden van een laboratoriumbepaling of de
gebruikte meetmethode meegenomen worden. Datzelfde geldt als infor-
matie uit medische beelden zoals de dikte van bepaalde botten onderdeel
wordt van een bepaalde zoekactie. De gevraagde informatie is mogelijk
aanwezig, maar zeker is het niet en bovendien is niet duidelijk waar deze
informatie precies te vinden is en hoe volledig de informatie is. Boven-
dien speelt zeker bij medische gegevens ook de tijd een belangrijke rol.
Zo kunnen bloedwaarden in de tijd veranderen, soms zelfs over het ver-
loop van een enkele dag. Het is dan ook de vraag op welke manier deze
‘gemengde systemen’ benaderd moeten worden. Wordt de ordening ver-
geten en wordt de verzameling slechts als ‘Big Data’ gezien of hangt het
antwoord af van de zoekacties?
2 Big Data
27
Afbeelding 2.3: Schema van een gemengd informatiesysteem waarin databases worden gecombineerd
met Big Data met de belangrijkste gereedschappen (tools).
2.5 Toepassingen
2.5.1 Algemeen
Big Data en de bijbehorende technieken worden overal toegepast waar
sprake is van grote hoeveelheden informatie die met grote snelheid
worden geleverd waarbij het niet mogelijk is deze informatie in te delen
of te rubriceren. Het is ook voor dergelijke toepassingen dat de technie-
ken van Big Data zijn ontwikkeld. In dit opzicht valt te denken aan:
� Google Een internationaal bedrijf dat vooral naam gemaakt heeft
via hun zoekmachine.� CERN De afkorting van Conseil Européen pour la Recherche Nucleaire,
de Europese organisatie voor kernfysisch onderzoek die onder andere
de LHC (Large Hadron Collider) beheert.� NASA De Amerikaanse ruimtevaartorganisatie.� Facebook Eén van de meest bekende socialemediasites.
Verschillende van deze bedrijven en hun toepassingen hebben er mede
voor gezorgd dat de techniek volwassen geworden is en ver genoeg ont-
wikkeld om breed te worden ingezet. Toch is Big Data niet alleen inte-
ressant en nuttig voor grote bedrijven. Ook op een meer beperkte schaal
kan het toepassen van Big Data-technieken een bijdrage leveren aan een
gezondere bedrijfsvoering. Als voorbeeld van een dergelijke meer
bereikbare toepassing wordt in paragraaf 2.5.6 Game-company bespro-
ken.
Wie echter een bredere blik heeft op informatie en het beheer ervan, kan
ook tot een heel andere conclusie komen. Mede door de steeds grotere
penetratie en beschikbaarheid van internet neemt de hoeveelheid infor-
matieverkeer jaarlijks toe. Wereldwijd wordt er nu (anno 2015) ruim 800
EB aan informatie uitgewisseld. Het merendeel van deze informatie
betreft beelden en documenten, vormen van informatie die juist via Big
Data-technieken uitstekend te benaderen en te analyseren zijn. Het is
dan ook de verwachting dat in de nabije toekomst steeds meer aandacht
naar deze informatiestromen zal gaan.
SUCCES MET BIG DATA
28
2.5.2 Google
Het internetbedrijf Google heeft mede aan de wieg gestaan van Big Data
en is ook mede verantwoordelijk voor het verder ontwikkelen van de
technieken en methoden die bij Big Data worden toegepast. Zo heeft
Google de Map Reduce-techniek ontwikkeld om het parallel verwerken
van informatie mogelijk te maken. Mede door deze technische aanpak
werd Google één van de pioniers in het toepassen van grootschalig
parallel verwerken van informatie.
2.5.3 CERN
Veel mensen kennen CERN vooral door de LHC, de Large Hadron Colli-
der, de grootste deeltjesversneller ter wereld en het belangrijkste labora-
torium voor hoge-energiefysica. Rond de ringvormige versneller zijn
totaal zeven meetopstellingen die gezamenlijk per seconde 600 miljoen
botsingen tussen elementaire deeltjes registreren. Hiervan is maar een
heel klein deel – circa 100 botsingen – interessant voor de wetenschap.
Ondanks deze zeer grote reductie van de hoeveelheid gegevens (er
wordt circa 0,001 procent van de meetgegevens gebruikt) produceert de
LHC toch ongeveer 200 PB per jaar aan informatie, een getal dat in de
toekomst alleen maar groter wordt. Om deze enorme hoeveelheid infor-
matie op te slaan en te verwerken beschikt CERN over het grootste
gedistribueerde computernetwerk ter wereld.
2 Big Data
29
Afbeelding 2.4: Deel van de versnellerbuis van de LHC in zijn tunnel op 175 m onder de grond.
2.5.4 NASA
De Amerikaanse ruimtevaartorganisatie NASA gebruikt de Big Data-
technieken in haar NCCS (NASA Center for Climate Simulation), een cen-
trum voor simulatie van het klimaat (afbeelding 2.5). In dit centrum
wordt meer dan 32 PB aan meetgegevens en gegevens uit computer-
simulaties van weermodellen bewaard en onderzocht.
climateDeze gegevens worden onder andere gebruikt om klimaatveranderingen
te onderzoeken en te voorspellen.
De meetgegevens die door dit centrum worden opgeslagen komen voor
een groot deel van een netwerk van speciale weersatellieten. Deze
metingen worden continu vergeleken met simulaties die worden uitge-
voerd op één van de grootste supercomputers. De uitkomsten worden
dan weer gebruikt om aan de ene kant klimaatmodellen te verbeteren en
aan de andere kant om weervoorspellingen nauwkeuriger te maken.
Omdat in veel gevallen de weg naar de verbetering en de onderliggende
patronen niet echt duidelijk zijn is het gebruik van Big Data-technieken
min of meer noodzakelijk.
SUCCES MET BIG DATA
30
Afbeelding 2.5: Kaart van de aarde met de verdeling van aerosols (NASA).
2.5.5 Facebook
Facebook is één van de belangrijkste en meest verbreide socialemedia-
sites met gemiddeld meer dan 1 miljard actieve gebruikers per maand.
De (profiel)gegevens en overige informatie van deze gebruikers, waaron-
der meer dan 50 miljard foto’s (situatie in 2014) beheren en toegankelijk
houden is slechts mogelijk met Big Data. Ook hier geldt dat de drie V’s
van kracht zijn en dat het opbouwen van een geordende gestructureerde
database niet haalbaar is.
2.5.6 Game-company
De toepassing van Big Data door de Game-company is anders dan de
voorgaande toepassingen. In de vorige toepassingen werd de situatie op
een zeker moment beschreven en werd de noodzaak tot gebruik van Big
Data onderbouwd. Ook ging het steeds om zeer grote instellingen en
was geen informatie beschikbaar over het traject naar het inzetten van
Big Data.
Game-company is een bedrijf dat internetspelletjes maakt en geld ver-
dient via abonnementen op dit soort spelletjes. Wanneer op zeker
moment de omzet terugloopt, wordt geprobeerd de oorzaak te achter-
halen door de beschikbare informatie over de spelers en hun gedrag te
analyseren. Al snel blijkt dat de traditionele aanpak niet werkt en (op
advies) gaat Game-company Big Data inzetten. Uit de eerste analyse
blijkt dat dit een gouden greep is, want de informatie laat duidelijk zien
waar de problemen liggen en welke mogelijkheden er zijn om deze pro-
blemen aan te pakken (zie bijlage A).
Dit (praktijk)voorbeeld maakt vooral duidelijk dat de kracht van Big
Data ligt in het omhoog halen van de verborgen informatie achter veel
standaard beschikbare bedrijfsgegevens. Dit betekent dat Big Data niet
alleen interessant is voor bedrijven die bestaan bij de gratie van informa-
tieverwerking zoals Google en Facebook. Het gebruik van Big Data kan
voor veel bedrijven nuttig en interessant zijn omdat de verborgen infor-
matie uit de bedrijfsgegevens zichtbaar gemaakt wordt zodat deze inge-
zet kan worden voor een betere bedrijfsvoering (profitorganisaties) of
een betere dienstverlening (non-profitorganisaties).
2 Big Data
31
4 Proces
4.1 Inleiding
Alle handelingen rond het gebruik van data kunnen beschreven worden
als processen. In deze context laat een proces zich formeel beschrijven
als een manier van behandeling maar ook als een ontwikkelingsgang.
Beide betekenissen zijn van toepassing op dataverwerking, zij het op ver-
schillende stadia in de verwerking van de gegevens. Zo kan het hoofd-
proces ‘dataverwerking’ beschreven worden via vier deelprocessen:
� Dataontwerp Dit betreft de aanpak om te komen tot een ontwerp
van een systeem voor opslag en verwerking van gegevens (paragraaf
3.2).� Dataopslag Dit gaat over alle handelingen die nodig zijn voor het
ophalen en opslaan van de gewenste gegevens (paragraaf 3.3).� Data-analyse Dit heeft te maken met acties om de meest gewenste
en gevraagde gegevens direct naar voren te halen (paragraaf 4.2).� Datamining Hier spreekt de informatie en tellen de vragen niet
(paragraaf 4.3).
De stappen over dataontwerp en dataopslag zijn in het vorige hoofdstuk
onderzocht. Dit hoofdstuk begint met de laatste twee deelprocessen, de
data-analyse en de datamining. De verschillende processen hebben niet
alleen te maken met de manier van het verwerken van gegevens (de
manier van behandeling), maar ook met de ontwikkelingsgang en zijn
daarmee per definitie dynamisch. Dit laatste is een typisch aspect van
elke vorm van gegevensverwerking.
Ook bestaat er een grote verwevenheid tussen de vier processen. Het is
niet mogelijk om één proces te bespreken zonder tegen aspecten van de
drie andere aan te lopen. Juist deze onderlinge verwevenheid is het
onderwerp van paragraaf 4.4, waar nader wordt ingegaan op een aantal
belangrijke aspecten van het verwerken van (zeer) grote hoeveelheden
informatie zoals het parallel verwerken van informatie op verschillende
51
computers. Paragraaf 4.5 gaat specifiek in op het gebruik van de resulta-
ten van datamining in het voorspellen van uitkomsten, de voorspellende
analyse (predictive analytics). In dit kader komen de houdbaarheid en de
betrouwbaarheid van een model aan de orde. Bij elke vorm van verwer-
king van informatie is het belangrijk om de consistentie van de verzame-
ling goed in het oog te houden. Zo is het niet wenselijk dat bij het paral-
lel verwerken van informatie verschillende gebruikte computers met
andere antwoorden komen. De laatste paragraaf van dit hoofdstuk gaat
nader in op de consistentie van een verzameling informatie en hoe deze
in stand gehouden kan worden.
4.2 Data-analyse
4.2.1 Methodiek
Voor het analyseren van de opgeslagen informatie staan verschillende
wegen open. Wanneer welke weg bewandeld wordt heeft te maken met
de informatievraag en het gebruik van de informatie. Een maandelijks
overzicht van de verkoop van verschillende productgroepen heeft een
andere lading dan een overzicht van de storingsgevoeligheid van een
bepaald soort apparaat of van de verschillende apparaten van één leve-
rancier. Met andere woorden: het spectrum loopt van de antwoorden op
vaste vragen over een beperkt deel van de informatie aan de ene kant tot
het antwoord op een unieke vraag waarbij alle informatie uit het infor-
matiesysteem gebruikt wordt. Uiteindelijk heeft dit geresulteerd in glo-
baal vier verschillende vormen van data-analyse:
� Reporting (rapporteren) Dit is informatie als antwoord op een een-
voudige gerichte vraag (paragraaf 4.2.2).� OLAP Dit staat voor Online Analytical Processing, waarbij de
gebruiker binnen een bepaalde verzameling van de informatie (een
datareservoir of datamart) zelf zijn vragen kan stellen (paragraaf 4.2.3).� Zoekopdrachten Deze worden gebruikt om zelfstandig informatie
te onderzoek in een datareservoir (paragraaf 4.2.4).� Datamining (gegevens delven) Dit is een methodiek waarbij onder-
zocht wordt of er zekere verbanden of patronen aanwezig zijn in de
opgeslagen informatie (paragraaf 4.3).
SUCCES MET BIG DATA
52
Zoals uit de korte beschrijving van de verschillende vormen van analyse
blijkt is er een duidelijk verschil tussen de eerste drie methodieken en de
laatste. De eerste drie methodieken worden gestuurd door de gebruiker
die zich bepaalde vragen stelt. De laatste methodiek gaat daarentegen uit
van de informatie en probeert daar zekere patronen en verbanden uit af
te leiden zonder tussenkomst van de gebruiker. Dit maakt de methodiek
van datamining bijzonder geschikt voor het verwerken en onderzoeken
van Big Data.
4.2.2 Reporting
Reporting (rapporteren) is de eenvoudigste analysemethode die gebruikt
wordt. Feitelijk wordt op grond van de beschikbare gegevens het antwoord
op een eenvoudige vraag getoond, bijvoorbeeld de verkoopcijfers van tv’s
die op beelddiagonaal zijn verdeeld in vier verschillende groepen.
Verkoopcijfers
Maand TV
klein middel groot heel groot
Oktober 3 4 5 2
November 6 12 14 4
December 10 14 18 10
Januari 2 4 5 1
Februari 1 3 3 0
Maart 3 4 5 3
April 5 5 5 3
Mei 6 8 10 3
Juni 4 10 15 6
Juli 4 12 18 8
Augustus 3 3 5 2
September 2 4 3 1
Tabel 4.1: Verkoopcijfers van een elektronicawinkel over één jaar van tv’s ingedeeld in vier groepen op
beelddiagonaal.
Het hangt van de vraag en de doelgroep af of de resultaten in een tabel
(tabel 4.1) of in een diagram zoals een staafdiagram (afbeelding 4.1)
moeten worden weergegeven.
4 Proces
53
Merk op dat bij reporting zowel de informatie, de frequentie als het for-
maat van weergave vooraf zijn bepaald in overleg met de gebruikers. Dit
betekent dat de resultaten van reporting slechts een momentopname zijn
waarvan noch de inhoud, noch de frequentie, noch de vorm zonder in-
grijpen van de ICT-afdeling aangepast kunnen worden. Meestal wordt
dit soort resultaten gebruikt om medewerkers snel te informeren of om
een overzicht op kengetallen te krijgen. Zo geeft een overzicht met het
aantal verkochte tv’s over het laatste jaar aan medewerkers van een elek-
tronicawinkel een indicatie hoe zij hun werk doen. Voor beleidsbeslis-
singen zijn dit soort overzichten niet voldoende, omdat achtergrond-
informatie en aanvullende vragen niet gesteld kunnen worden. Wie
dergelijke vragen heeft kan in veel gevallen naar OLAP uitwijken.
4.2.3 OLAP
Vaak is het gewenst om vragen te kunnen stellen over gepresenteerde
informatie zonder uitgebreide en tijdrovende zoekopdrachten (zie para-
graaf 4.2.4). Feitelijk gaat het hier om vragen over de resultaten uit
reporting, een techniek die OnLine Analytical Processing (OLAP) wordt
genoemd, of ook wel datavisualisatie. Dit betekent dat er eerst een samen-
vatting gemaakt wordt van de beschikbare informatie.
tv_verkoop
SUCCES MET BIG DATA
54
Afbeelding 4.1: Verkoopcijfers van een elektronicawinkel over één jaar voor tv’s ingedeeld in vier groe-
pen op beelddiagonaal.
Door deze samenvatting op een bepaalde manier in een computer op te
slaan zijn de resultaten van gecombineerde vragen relatief snel zichtbaar
te maken.
Om gebruik van OLAP mogelijk te maken wordt de beschikbare
informatie ingedeeld per onafhankelijke variabele, die bepaald
wordt vanuit de vraagstelling van de gebruiker. Deze onafhanke-
lijke variabelen worden dimensies genoemd en langs deze dimen-
sies kan de gebruiker zijn selecties maken.
In het eerder genoemde voorbeeld van verkochte tv’s zijn geschik-
te dimensies de tijd, grootte van de tv en aantal verkochte tv’s. Door de
beschikbare informatie volgens deze drie dimensies opnieuw in te
delen wordt het mogelijk om OLAP toe te passen. Nadeel is wel
dat deze herindeling tijd en rekencapaciteit kost en dat deze herin-
deling elke keer herhaald moet worden zodra de gebruikte infor-
matie verandert.
Om vragen te kunnen stellen en om de resultaten te presenteren wordt
vaak gebruikgemaakt van een dashboard, zoals Pentaho (afbeelding 4.2).
Wat betreft de wijze van presentatie (tabel, staafgrafiek, lijngrafiek, taart-
grafiek) staat het de gebruiker vrij deze te kiezen, terwijl het ook moge-
lijk is om automatisch rapporten te maken en meldingen te genereren.
4 Proces
55
Afbeelding 4.2: Voorbeeld van een dashboard van Pentaho zoals gebruikt bij OLAP.
Aangenomen dat dimensies (onafhankelijke variabelen) goed gekozen
zijn biedt een dashboard (en het toepassen van OLAP) een gebruiker
genoeg informatie om beleidsbeslissingen te kunnen nemen of te onder-
bouwen.
4.2.4 Zoekopdrachten
Zowel bij reporting als bij OLAP heeft de gebruiker te maken met een
apart systeem dat vragen doorgeeft aan een informatiesysteem en dat de
resultaten op een begrijpelijke manier aanbiedt. Wie volledige vrijheid
wil hebben in het benaderen van een informatiesysteem moet zijn toe-
vlucht nemen tot directe zoekopdrachten. Om bruikbare antwoorden te
krijgen is het noodzakelijk dat de zoekopdrachten op de juiste manier en
in de juiste ‘taal’ geformuleerd worden. De zoekopdrachten worden
gesteld aan de beheerder, de database engine van de database waar de
informatie in bewaard wordt. Deze database engine doorzoekt dan het
informatiesysteem en geeft de antwoorden terug, meestal alleen in de
vorm van een lijst met antwoorden. Het is dan aan de gebruiker om met
deze gegevens de gewenste tabellen en diagrammen te maken. Tegen-
woordig is SQL (Structured Query Language) de meest gebruikte taal
om vragen aan een database engine te stellen.
In een database staat een groot aantal getallen, zeg het saldo van
bankrekeningen. Het is mogelijk met een SQL-opdracht op te vra-
gen welke bedragen positief en welke bedragen negatief zijn:
CASE WHEN saldo > 0
THEN ‘positief’
WHEN saldo < 0
THEN ‘negatief’
ELSE ‘NUL’
END
De laatste opdracht (ELSE ‘NUL’) is nodig om het getal 0 zijn
juiste plaats te geven. Wordt deze situatie niet apart gedefinieerd
dan kiest de computer zelf een antwoord en dat is niet gewenst.
Deze korte vraag laat zien waarom zelfs een simpele SQL-
opdracht lastig kan zijn.
SUCCES MET BIG DATA
56
Doordat het heel dicht bij de echte database staat, lijkt SQL heel sterk
op een formele programmeertaal. Dit betekent dat de opdrachten vol-
gens een vaste syntaxis en structuur worden ingevoerd. Opstellen van
opdrachten binnen SQL lijkt daarom sterk op programmeren en is
daarom niet iets voor de gemiddelde gebruiker, maar meer voor een
data-analist en een programmeur.
Wordt er gewerkt met Big Data, dan is de informatie niet gestructureerd
en is het niet mogelijk een zoektaal zoals SQL te gebruiken. In dat geval
wordt gebruikgemaakt van een database met NoSQL (Not Only SQL),
zoals MongoDB en OrientDB.
4.3 Datamining
De drie analysemethoden die hiervoor zijn besproken (paragraaf 4.2)
gaan steeds uit van een gerichte vraag van een gebruiker. Datamining is
een methodiek waarbij de zaken omgedraaid worden en waarbij de infor-
matie gebruikt wordt om patronen op te sporen. Toch geldt ook hier dat
kennis van zaken en dan in het bijzonder aangaande de betekenis en de
inhoud van de gebruikte informatie cruciaal is voor een bruikbare uit-
komst. Dit komt het best naar voren in CRISP-DM (Cross Industry
Standard Process for Data Mining) dat het volledige proces opdeelt in zes
stappen:
� Stap 1 Business Understanding, waarin kennis van de toepassing
wordt vastgelegd om later onderscheid te kunnen maken tussen zin-
nige en onzinnige resultaten.� Stap 2 Data Understanding, om kennis van de informatie te verga-
ren waaruit onder andere de betrouwbaarheid en de strekking van de
gegevensinformatie bepaald kan worden.� Stap 3 Data Preparation, om de kwaliteit en de volledigheid van de
informatie te controleren en zo nodig aan te passen of te verbeteren.� Stap 4 Modeling betreft een stap die door velen als het echte data-
mining wordt gezien omdat in deze stap de informatie onderzocht
wordt.
4 Proces
57
� Stap 5 Evaluation is de controle van de resultaten van de modeling-
stap tegen de informatie en nagaan of de resultaten de gewenste ant-
woorden zijn volgens de criteria van stap 1.� Stap 6 Deployment betreft het toepassen van de uitkomsten van de
datamining binnen de zakelijke omgeving.
Er bestaan ook eenvoudiger systemen, maar elk systeem kent een stap
waarin de informatie wordt voorbereid, een stap met de feitelijke data-
mining en een stap voor de verwerking en evaluatie van de gegevens.
Een ander minstens even belangrijk aspect van datamining is de snelheid
waarmee bruikbare resultaten komen. Zeker bij het verwerken van grote
hoeveelheden informatie komt het zelden voor dat direct bij de eerste
analyse de goede resultaten tevoorschijn komen. Meestal laten de eerste
pogingen alleen maar zien dat filters niet goed staan, dat er niet gekeken
wordt naar de juiste parameters en dat de uitgangspunten niet kloppen.
Toch zijn het juist deze niet-correcte resultaten die het mogelijk maken
om uiteindelijk een goede analyse te doen.
4.4 Big Data-proces
4.4.1 Algemeen
Verwerken van grote hoeveelheden vaak ongeordende informatie brengt
zijn eigen problemen met zich mee. Hoewel moderne computers de
meeste bewerkingen op een blok informatie snel kunnen afhandelen,
vraagt het verwerken van een grote hoeveelheid informatie veel tijd.
Soms is de hoeveelheid informatie zo groot dat de verwerkingstijd te
lang is.
Het probleem is vergelijkbaar met het uitzoeken van een hele gro-
te hoeveelheid LEGO-blokjes in een grote kist. Stel dat je met een
groepje kinderen bent en wilt weten hoeveel groene blokjes je
hebt. Je kunt de hele kist omkeren en alle groene blokjes gaan tel-
len. Dat gaat lang duren. Je kunt ook de stapel LEGO verdelen in
kleine stapeltjes en ieder kind de groene blokjes laten tellen in zijn
stapeltje. Op het moment dat ze het aantal weten roepen ze dat.
SUCCES MET BIG DATA
58
Het enige wat je nog hoeft te doen is het optellen en je hebt het
totaal. Dit gaat een stuk sneller dan zelf alles tellen. Dit is het prin-
cipe van parallel werken of parallelliteit. Op dezelfde wijze werkt
de Big Data-verwerking.
lego In paragraaf 4.4.2 wordt eerst aangegeven hoe parallelliteit ingezet wordt
om de verwerkingstijden bij zeer grote hoeveelheden informatie redelijk
te houden. In de paragraaf daarna (4.4.3) wordt key value gepresenteerd,
een methode om uit ongestructureerde gegevens gestructureerde infor-
matie te maken. Paragraaf 4.4.4 introduceert map reduce, een techniek
waarmee informatie eerst over een (groot) aantal parallel werkende com-
puters wordt verspreid en vervolgens weer gebundeld wordt. Paragraaf
4.4.5 ten slotte bespreekt de verwerking van Big Data.
4.4.2 Parallel verwerken
Qua methode is het verschil in aanpak tussen een gewone database en
Big Data niet dat het om veel grotere hoeveelheden gaat, maar ook het
ontbreken van structuur speelt een rol. Beide dwingen tot een andere
aanpak, omdat de verwerkingstijd van de verschillende opdrachten ten-
minste schaalt met de hoeveelheid informatie.
Neem aan dat het verwerken van één regel informatie in een data-
base op een bepaalde server t = 10 µs (= 10 × 10-6 s) vraagt. Voor
4 Proces
59
Afbeelding 4.3: Een grote stapel LEGO-blokjes.
een gemiddelde opdracht wordt een regel ongeveer N = 10 keer
benaderd en neem aan dat een gemiddelde database R = 100.000
(= 105) regels bevat. De totale verwerkingstijd Tpro voor een
opdracht bedraagt dan:
T t N Rpro � � � (4.1)
zodat invullen van de gegeven waarden oplevert:
T T spro pro� � � � � ��10 10 10 100000 106 .
Hoewel een verwerkingstijd Tpro = 10 s aan de lange kant is, is dit
voor de meeste gevallen nog acceptabel.
Indien alle factoren gelijk blijven maar alleen de grootte van de
database toeneemt tot zeg R=106 regels, dan neemt de totale ver-
werkingstijd voor een gemiddelde opdracht toe tot:
T T spro pro� � � � � ��10 10 10 10 1006 6
hetgeen betekent dat het verwerken van één opdracht bijna twee
minuten in beslag neemt. Een dergelijk tijdsperiode is in de meeste
gevallen niet acceptabel meer.
Duurt het op een bepaalde server te lang om de individuele opdrachten
te verwerken, dan staan er in principe twee wegen open om de verwer-
king te versnellen:
� Snellere server Hierbij is één computer in staat om de informatie
sneller te verwerken. In deze optie is het bijvoorbeeld mogelijk om de
verwerkingstijd t met dertig procent terug te brengen ten koste van
een verdubbelde investering. Bovendien is deze aanpak gebonden aan
de maximale verwerkingssnelheid van de moderne computer en die is
(helaas) niet oneindig groot. Bovendien betekent deze aanpak dat voor
meer verwerkingssnelheid de computer vervangen moet worden en
alle programma’s en informatie overgezet moeten worden. Dit laatste
SUCCES MET BIG DATA
60
vraagt (veel) tijd en gedurende de vervangingsperiode is er geen moge-
lijkheid tot verwerken van informatie.� Meer servers Dit betekent dat het werk gedaan wordt door ver-
scheidene computers. In deze situatie betekent een dubbele investe-
ring meteen een dubbele verwerkingssnelheid. Worden direct tien
computers geïnstalleerd, dan zou de verwerkingssnelheid theoretisch
vertienvoudigen. Mocht de versnelling nog niet voldoende zijn, dan is
het bijplaatsen van meer computers een relatief eenvoudige actie.
Een derde manier, het optimaliseren van de gebruikte programma’s,
staat meestal alleen open voor ontwikkelaars en programmeurs. In hoe-
verre deze oplossing haalbaar is hangt af van de kosten voor het optima-
liseren en de bereikte winst in verwerkingssnelheid. Overigens is deze
aanpak – mits economisch verantwoord – altijd goed, omdat het altijd
winst oplevert ongeacht de gekozen optie.
In de praktijk wordt parallel werken gecombineerd met geoptimaliseerde
programma’s om een hoge verwerkingssnelheid te krijgen. Deze combina-
tie geeft de beste resultaten en ook de eenvoudigste en goedkoopste weg
naar het vergroten van de capaciteit. Maar dan komt de volgende horde
om te nemen: hoe weet de ene server (computer) wat de andere doet?
Op dit punt komt een techniek als map reduce (zie paragraaf 4.4.4) om de
hoek kijken.
4.4.3 Key value
De key value-methode is speciaal ontwikkeld om te werken met onge-
structureerde informatie, zoals tekst uit een boek. Een woord wordt een
key (sleutel) genoemd en het aantal keren dat het voorkomt wordt een
value genoemd. Zo ontstaat een tabel die aangeeft hoe vaak elk woord in
de gekozen tekst voorkomt (zie voor een voorbeeld tabel 4.2).
4.4.4 Map reduce
De (programmeer)techniek map reduce wordt gebruikt om een grote hoe-
veelheid ongestructureerde informatie te verdelen over een groot aantal
parallel werkende computers om vervolgens de resultaten weer te bun-
delen (afbeelding 4.4). Op deze manier is het mogelijk om in korte tijd
4 Proces
61
veel informatie te verwerken en daarmee is het een van de pijlers van Big
Data. De naam van deze techniek wijst dan ook direct naar deze twee
stappen:
mapreduce� Map betreft het verdelen van de informatie over een groot aantal
computers. Globaal bestaan hiervoor twee technieken, afhankelijk van
de vervolgstap, het onderzoeken van de gegevens:� Methode 1 Voor het doorzoeken van de informatie wordt slechts
één algoritme gebruikt. In dit geval wordt de informatie gelijkelijk
verdeeld over de beschikbare computers.� Methode 2 Voor het doorzoeken bestaan verschillende algorit-
men. In dit geval krijgen de computers eerst een algoritme en ver-
volgens de informatie. Hierbij wordt de informatie zo verdeeld dat
er per algoritme en computer steeds evenveel informatie wordt toe-
gekend.
In beide situaties is de verwachting dat elke computer ongeveer even
lang nodig heeft voor het verwerken van de informatie, dus zullen alle
computers ongeveer op hetzelfde moment klaar zijn voor de volgende
stap.
SUCCES MET BIG DATA
62
Afbeelding 4.4: Het principe van de map reduce-techniek waarbij in de mapfase de informatie verdeeld
wordt over een groot aantal computers voor verwerking en in de reducefase de resultaten weer gebundeld
worden.
� Reduce betekent het ophalen van de resultaten van de verschillende
computers en het combineren ervan, zodat het proces niet één resul-
taat per gebruikte computer kent, maar slechts één antwoord op de
totale opdracht.
Om problemen in de verwerking te voorkomen wordt de voortgang van
de individuele computers bewaakt. Mocht één van de computers vast-
lopen om wat voor reden dan ook, dan wordt het proces opnieuw
gestart op een andere computer of wordt besloten om de eventuele
resultaten niet te gebruiken. In het geval dat deze laatste stap niet vol-
doende gecontroleerd en vastgelegd wordt, dan kan dit voor een zinloos
antwoord zorgen zonder dat dit als zodanig herkend wordt.
4.4.5 Verwerken Big Data
Door de key value-methode en de map reduce-techniek te combineren
kan snel en eenvoudig Big Data verwerkt en gestructureerd worden. Big
Data wordt bijvoorbeeld gevormd door een stuk tekst uit dit boek:
“Wil een boek over Big Data zinvol en bruikbaar zijn, dan is het
belangrijk dat duidelijk is wanneer er sprake is van data en wanneer
van Big Data. Met de huidige computertechniek is het geen pro-
bleem om grote hoeveelheden gegevens (data) van verschillende
bronnen op te slaan in één groot systeem. Vervolgens kunnen de
gebruikers deze gegevens op verschillende manieren benaderen,
op verschillende manieren rangschikken of de gegevens toepassen
bij het ontwikkelen van nieuwe producten.”
Elke zin wordt toegewezen aan een computer. Vervolgens wordt een
woord een key (sleutel) genoemd en het aantal keren dat het voorkomt
heet een value. Zo zijn de zinnen te verwerken en maakt elke computer
zijn eigen tabel met sleutels (keys) en waarden (values). Zie tabel 4.2.
Het opbouwen van een tabel per computer is een actie die plaatsvindt
tijdens de mapprocedure. Omdat de verschillende zinnen steeds een
andere lengte hebben en meer of minder verschillende woorden, heeft
elke computer een andere tijd nodig om de bewerking af te ronden. Als
nu elke computer aan een soort bewaker aangeeft wanneer de afslui-
4 Proces
63
tende punt van de regel bereikt wordt, dan is bekend wanneer elke com-
puter klaar is. Vervolgens sturen de computers hun tabellen naar één
centrale computer die alles samenvoegt tot één tabel (tabel 4.3).
Key-valuetabel
zin 1
computer 1
zin 2
computer 2
zin 3
computer 3
Key Value Key Value Key Value
wil 1 met 1 vervolgens 1
een 1 de 1 kunnen 1
boek 1 huidige 1 de 2
over 1 computertechniek 1 gebruikers 1
big 2 is 1 deze 1
data 3 het 1 gegevens 2
zinvol 1 probleem 1 op 2
en 2 om 1 verschillende 2
bruikbaar 1 grote 1 manieren 2
zijn 1 hoeveelheden 1 benaderen 1
dan 1 data 1 rangschikken 1
is 3 van 1 of 1
het 1 verschillende 1 toepassen 1
belangrijk 1 bronnen 1 bij 1
dat 1 op 1 het 1
duidelijk 1 te 1 ontwikkelen 1
wanneer 2 slaan 1 van 1
er 1 in 1 nieuwe 1
sprake 1 één 1 producten 1
van 2 groot 1
systeem 1
Tabel 4.2: De sleutels (keys) en waarden (values) van de eerste drie zinnen uit de inleiding van hoofd-
stuk 2.
Door gebruik te maken van sleutels is het mogelijk om grote hoeveel-
heden informatie parallel te verwerken. Op basis van de sleutel kan dan
een vervolgstap bepaald worden, bijvoorbeeld de selectie van de juiste
zoektermen. Het vertalen van de uitkomsten per computer naar uitkom-
sten voor de hele verzameling informatie moet van geval tot geval
SUCCES MET BIG DATA
64
bepaald worden en hangt in hoge mate af van de gebruikte zoek-
methode.
Key Value Key Value Key Value
wil 1 een 1 boek 1
over 1 big 2 data 4
zinvol 1 en 1 bruikbaar 1
zijn 1 dan 1 is 4
het 1 belangrijk 1 dat 1
duidelijk 1 wanneer 2 er 1
. . . . . .
Tabel 4.3: Een deel van de gecombineerde key-valuetabel van de eerste drie zinnen van de eerste para-
graaf van hoofdstuk 2.
4.5 Predictive analytics
De term predictive analytics wordt gebruikt voor het toepassen van een
datamodel op nieuwe informatie. In de tijd dat er nog geen computers
waren maar wel geheim agenten, werd een dergelijke techniek gebruikt
voor het ontcijferen van gecodeerde boodschappen.
De eerste actie, het opbouwen van een model, bestaat uit het tellen van
woorden in willekeurige teksten die over het (waarschijnlijke) onderwerp
van de boodschap gaan. Door nu het voorkomen van bepaalde (letter-
en cijfer)combinaties in de gecodeerde boodschap te tellen en te vergelij-
ken kan een aantal termen al bepaald worden. Zo is het bijvoorbeeld
mogelijk om de lidwoorden en de persoonsvorm is uit te filteren. Als
dan van een (beperkt) aantal woorden bekend is wat ze in code zijn, dan
kan die informatie gebruikt worden voor het verder ontcijferen. Het is
onder andere door deze techniek dat het Jean-François Champollion
lukte om met de Steen van Rosetta het Oud-Egyptische hiërogliefen-
schrift te ontcijferen (paragraaf 10.2).
Deze techniek wordt ook gebruikt door winkels (ook op het internet)
om het gedrag van klanten te voorspellen. Met deze voorspelling kan bij-
voorbeeld het voorraadbeheer gestuurd worden. Wordt er bijvoorbeeld
in de zomer een periode met mooi warm weer verwacht, dan halen veel
4 Proces
65
mensen de barbecue tevoorschijn. Voor een winkel betekent dat een
grotere afname van dun gesneden vlees, vlees op stokjes, sausjes, salades
en stokbrood. Als spaghettisaus in de aanbieding gaat, dan is het heel
waarschijnlijk dat de verkoop van pasta ook omhoog gaat. Omgekeerd,
als bijvoorbeeld de koffie van merk A een prijsverlaging krijgt, dan is het
logisch dat de koffie van andere merken minder zal verkopen. Dit bete-
kent dat het kennen van deze onderlinge relaties belangrijk kan zijn voor
de bedrijfsvoering van een winkel.
Op zich is het niet moeilijk om zekere relaties tussen bepaalde invoer-
waarden te leggen. Het gebruik van deze relaties om toekomstig gedrag
te voorspellen is daarmee niet triviaal. Belangrijke vragen in dit opzicht
zijn:
1 Is de nieuwe informatie onder gelijke omstandigheden en over een
vergelijkbare periode verzameld als de informatie waaruit het model is
afgeleid?
2 Hoe wordt een verandering van de omstandigheden verwerkt binnen
het model?
3 Wat is de initiële betrouwbaarheid van de voorspellingen van het
model?
4 Is het mogelijk om de betrouwbaarheid van het model op langere ter-
mijn af te schatten?
Het antwoord op de eerste vraag wordt bepaald door de informatie en
de manier waarop deze informatie verzameld wordt (paragraaf 3.3). Bij
de tweede vraag is het antwoord niet alleen afhankelijk van de manier
waarop de informatie geselecteerd wordt, maar evenzo van de manier
waarop deze informatie gebruikt wordt bij het opzetten van het model
(paragraaf 4.2). De betrouwbaarheid van het gebruikte model, zowel
initieel als op langere termijn, hangt sterk af van de methode waarmee de
informatie geanalyseerd is. Voorbeelden van veelgebruikte analyse-
methoden zijn:
� Beslisboom (hoofdstuk 5)� Neurale netwerken (hoofdstuk 6)� Clusteren (hoofdstuk 7)
SUCCES MET BIG DATA
66
� Lineaire regressie (hoofdstuk 8)� Naaste buur (hoofdstuk 9)� Afleiden van regels (hoofdstuk 10)
Welke methode bruikbaar is en welke niet wordt voor een belangrijk
deel ook bepaald door de gestelde vragen en het gewenste model.
4.6 CAP-theorema
Het CAP-theorema werd in 1995 voor het eerst gepresenteerd door Eric
Brewer en wordt daarom ook wel Brewer’s theorema genoemd. Dit theo-
rema beschrijft de gevolgen van het distribueren van een database over
verschillende (via een netwerk verbonden) computers. De letters CAP
staan voor consistency, availability en partition tolerance, waarbij de volgende
betekenissen gebruikt worden:
� consistency geeft de mate van consistentie van het systeem aan.
Praktisch geeft dit aan in hoeverre alle betrokken computers dezelfde
informatie zien.� availability is een maat voor de toegankelijkheid van de database, met
andere woorden: geeft het systeem een antwoord op elk verzoek om
informatie?� partition tolerance beschrijft de mate waarin de individuele systemen
kunnen doorwerken bij het uitvallen van de onderlinge verbindingen.
Zelfs als alle informatie op één computer staat die bovendien alle aan-
vragen voor informatie afhandelt, dan scoren ten hoogste twee van de
drie eigenschappen (theoretisch) maximaal. Verdelen van de informatie
over meer computers betekent dat nog steeds een van de eigenschappen
minder hoog scoort, maar de situatie bepaalt welke van de drie.
In een negentiende-eeuwse bibliotheek (situatie 1) werden alle
handelingen door één persoon gedaan. Werd een boek ingeleverd,
dan werd het ingenomen, gecontroleerd, de status omgezet van
uitgeleend in beschikbaar en vervolgens teruggezet in de kast. Na
het afronden van deze handelingen was de volgende klant aan de
beurt. Dit betekent dat de bibliotheek steeds alle ingeleverde boe-
4 Proces
67
ken ook daadwerkelijk in de kast heeft staan.
Met het groter worden van de bibliotheek en het toenemen van
het aantal klanten (begin twintigste eeuw, situatie 2) was een
andere werkwijze nodig, omdat een één-op-één werkwijze te veel
tijd vraagt. Dus handelt de medewerker aan het loket alleen het
inleveren af en een tweede medewerker het controleren, opnieuw
vrijgeven en terugzetten in de kast. Doordat de handelingen ver-
deeld zijn over twee medewerkers staan niet alle ingeleverde boe-
ken ook in de kast.
Vervolgens (halverwege twintigste eeuw, situatie 3) is een derde
aanpassing in het werk nodig als het aantal klanten nog meer toe-
neemt. Nu neemt de medewerker achter het loket alleen de boe-
ken in, een tweede medewerker doet de administratie terwijl een
derde de boeken in de kast terugzet. Nu kan er ook een verschil
zijn tussen de fysiek ingeleverde boeken en de administratie, naast
de verschillen die er al waren tussen de inhoud van de kasten.
Uiteindelijk (eind twintigste eeuw, situatie 4) krijgt de bibliotheek
een aantal dependances waar ook boeken geleend en terugge-
bracht kunnen worden. Hierdoor wordt het voor een medewerker
weer mogelijk om alle handelingen na elkaar uit te voeren. Hoofd-
vestiging en de dependances wisselen constant informatie uit over
de geleende en teruggebrachte boeken via een telefoonlijn. Dit
laatste introduceert een zekere afhankelijkheid van de verbinding:
valt de verbinding weg, dan heeft dit direct gevolgen voor de
betrouwbaarheid van het totale systeem.
Eigenschap Situatie
1 2 3 4
C Consistentie goed redelijk matig goed
A Beschikbaarheid matig redelijk redelijk goed
P Verdeling goed goed goed redelijk
Tabel 4.4: Invloed van de systeemopbouw op de systeemeigenschappen volgens het CAP-theorema.
SUCCES MET BIG DATA
68
Wordt het CAP-theorema op de vier situaties (tabel 4.4) uit het boven-
staande voorbeeld toegepast, dan valt het volgende op:
� Situatie 1 Alle handelingen worden na elkaar steeds door één mede-
werker uitgevoerd waardoor het systeem niet steeds beschikbaar is.
Aan de andere kant zorgt de ene medewerker er wel voor dat het sys-
teem steeds consistent is en omdat er slechts één bibliotheek is zijn er
geen problemen met onderlinge verbindingen.� Situatie 2 Ook nu zijn er geen onderlinge verbindingen. Wel heeft
de nieuwe werkwijze tot gevolg dat de medewerker achter het loket
sneller beschikbaar is omdat er geen wachttijd is voor het afhandelen
van een transactie. Uiteindelijk neemt de totale wachttijd wel toe
omdat er meer transacties gevraagd worden. Wel heeft deze aanpak
gevolgen voor de consistentie van het systeem: een boek kan ingele-
verd zijn zonder dat het in de kast staat.� Situatie 3 Laat vooral een verbetering zien in de snelheid waarmee
de medewerker achter het loket beschikbaar is. Deze verbetering
wordt betaald door een verminderde consistentie omdat deze trans-
acties nu door verscheidene medewerkers worden gedaan.� Situatie 4 Zorgt voor een verbeterde beschikbaarheid van de biblio-
theek omdat er meer locaties komen om boeken in te leveren. De
beschikbaarheid per locatie is minder groot omdat één medewerker de
volledige transactie uitvoert. Verder is het systeem afhankelijk van het
functioneren van de telefoonlijnen tussen de hoofdvestiging en de
dependances.
Dit voorbeeld laat zien dat een klein systeem op één locatie redelijk
betrouwbaar en toegankelijk is. Grotere systemen daarentegen zijn
meestal over verschillende locaties (computers) verdeeld, waardoor de
verdeling en de onderlinge communicatie gaan meespelen. Het is moge-
lijk om bij een systeem twee van de drie eigenschappen te maximalise-
ren, maar dit gaat ten koste van de derde eigenschap. Het is daarom aan
de systeemontwerper om te komen met de optimale oplossing, een op-
lossing die van geval tot geval bepaald wordt. Een typische toepassing
van het CAP-theorema is de map reduce-techniek.
4 Proces
69