INFORMATIEMANAGEMENT
Volledige Studeerbare Samenvatting
Prof. dr. Hans Hallez | KU Leuven Campus Brugge
3e Bachelor Industriele Ingenieurswetenschappen
Samenvatting Informatiemanagement | Pagina 1
,Informatiemanagement — KU Leuven | Prof. dr. Hans Hallez
DEEL 1: DATA-INTENSIVE APPLICATIONS —
ONTWERPEN VAN DATA-INTENSIEVE
APPLICATIES
1.1 Inleiding: Data, Informatie en Kennis
In dit eerste deel van de cursus staan we stil bij de fundamenten van data-engineering. We
beginnen met de vraag: wat is data eigenlijk, en hoe verschilt het van informatie en kennis?
Het DIKW-model (Data, Information, Knowledge, Wisdom) biedt hiervoor een nuttig kader.
Data is de meest basale laag. Het gaat om gecodeerde informatie met een vaste syntaxis
(structuur) en betekenis (semantiek) die door computers verwerkt kan worden. Data op
zichzelf heeft weinig betekenis zonder context.
Informatie voegt context toe aan data. Informatie is een boodschap of observatie die als
materie of energie wordt overgedragen. Als je een temperatuurmeting van 37°C hebt, is dat
data; wanneer je weet dat dit de lichaamstemperatuur van een patiënt is, wordt het
informatie.
Kennis voegt toe hoe je de informatie kunt gebruiken. Als je weet dat 37°C normaal is en
40°C koorts, gebruik je kennis.
Wijsheid gaat over wanneer en waarom je bepaalde kennis toepast.
1.2 Het Onderscheid tussen IT en OT
IT (Information Technology) handelt in informatie en beheert digitale informatiestromen.
OT (Operational Technology) handelt in machines en beheert de werking van fysische
processen en machines. Als ingenieur kom je steeds vaker in aanraking met beide
werelden.
1.3 Data-Intensive Applications
Hedendaagse applicaties zijn meer data-intensief dan rekenintensief. Dit betekent dat de
hoeveelheid, complexiteit en de snelheid waarmee data verandert, de grootste uitdagingen
vormen — niet de rekenkracht op zich.
Typische bouwblokken van data-intensieve applicaties zijn:
• Databases (opslag van data)
• Caches (opslaan van recent gebruikte resultaten voor snellere toegang)
• Search indexes (voor efficiënt zoeken)
• Stream processing (berichtgeving tussen processen)
• Batch processing (periodieke verwerking van grote datablokken)
Omdat één enkel dataverwerkingsgereedschap zelden alle noden dekt, combineren
moderne applicaties meerdere tools, waarbij de complexiteit verborgen wordt achter een
API.
Samenvatting Informatiemanagement | Pagina 2
, Informatiemanagement — KU Leuven | Prof. dr. Hans Hallez
1.4 Big Data: De V's
Big Data wordt typisch gekarakteriseerd door meerdere 'V's'. De vier klassieke V's zijn:
Volume (de hoeveelheid data), Velocity (de snelheid waarmee data gegenereerd en
verwerkt wordt), Variety (de diversiteit aan dataformaten: gestructureerd, semi-
gestructureerd, ongestructureerd) en Veracity (de betrouwbaarheid en nauwkeurigheid van
de data). Modernere definities voegen nog meer V's toe, zoals Value (de waarde die uit data
gehaald kan worden).
1.5 De Drie Kernvereisten van Data-Intensive Applications
Elke goed ontworpen data-intensieve applicatie moet voldoen aan drie fundamentele
vereisten:
1. Betrouwbaarheid (Reliability)
Het systeem moet correct blijven werken, zelfs wanneer er fouten optreden. Men spreekt
van een fault-tolerant of resilient systeem. Een belangrijk onderscheid is:
• Fault: een component wijkt af van zijn specificaties (bv. een schijf die begint te falen)
• Failure: het systeem als geheel valt uit en levert geen service meer aan de gebruiker
Een fault leidt niet altijd tot een failure — goed ontworpen systemen anticiperen op fouten.
Netflix gebruikt 'Chaos Monkey', een tool die bewust fouten induceert in productiesystemen
om de fault-tolerantie te testen. Fouten kunnen hardware-gerelateerd zijn (schijfpannes,
stroomuitval), software-gerelateerd (bugs, resource leaks) of door menselijke fouten
veroorzaakt worden.
2. Schaalbaarheid (Scalability)
Een systeem is schaalbaar als het effectief blijft bij een significante toename van gebruikers
of data. Schaalbaarheid beschrijft het vermogen om te groeien met behoud van de vereiste
prestaties (bv. constante antwoordtijden of query-tijden onder een bepaalde grens).
Load parameters beschrijven de belasting van het systeem. Voorbeelden zijn: aantal
reads/writes in een database, aantal actieve gebruikers, requests per seconde op een
webserver.
Een klassiek voorbeeld is het Twitter 'fan-out' probleem: elke tweet van een gebruiker moet
afgeleverd worden aan alle volgers. Met gemiddeld 75 volgers per gebruiker en 12.000
tweets/sec betekent dit 345.000 schrijfoperaties/sec. Voor gebruikers met 30 miljoen volgers
moeten 30 miljoen schrijfacties binnen 5 seconden uitgevoerd worden — een enorme
schaalbaarheidsuitdaging.
Prestatiemeting: De prestatie van een systeem hangt af van het type. Batch-systemen
meten throughput; online systemen meten responstijd. Statistieken zoals gemiddelden,
mediaan en percentielen worden gebruikt. Prestatienormen worden vastgelegd in SLOs
(Service Level Objectives) en SLAs (Service Level Agreements).
Er zijn twee manieren om te schalen:
Kenmerk Vertical Scaling (Scale Horizontal Scaling (Scale
Up) Out)
Methode Krachtiger hardware Workload verdelen over
installeren meerdere kleinere
machines
Voordeel Eenvoudig te beheren, Stap voor stap schaalbaar,
Samenvatting Informatiemanagement | Pagina 3