You are on page 1of 29

lOMoARcPS D|1580045

Samenvattingen: boek "Leerboek Business Intelligence",


lOMoARcPS D|1580045

Leerboek BI
Hoofdstuk 1
1.1. Wat is Business Intelligence?
1.1.1. Definitie
De officiële definitie voor Business Intelligence is: “An umbrella term that includes the
applications, infrastructure and tools, and best practises that enable access to and analysis of
information to improve and optimise decisions and performance” - Gartner

Vertaald is het dit:


Business Intelligence is een overkoepelende term waarmee applicaties, infrastructuur en
hulpmiddelen, en aangeraden werkwijzen worden bedoeld, die als doel hebben om gegevens
beschikbaar te stellen ten einde de juiste beslissingen te kunnen nemen op basis van correcte,
betrouwbare informatie.

Business Intelligence is dus in feite een parapluterm waar heel erg veel onder kan vallen.
De belangrijkste delen van deze omschrijvingen zijn de woorden Informatie en beslissingen.
Business Intelligence draait namelijk om het beter in staat zijn beslissingen te nemen op basis
van informatie. Voordat iets informatie is, zijn het alleen nog maar gegevens. Deze gegevens
worden informatie wanneer deze gebruikt kunnen worden in de besluitvorming. Een andere
omschrijving van BI is Making Better Decisions Faster. BI draait er namelijk om de mensen in
een organisatie beter in staat te stellen hun werk te doen. Wanneer zij goed geïnformeerd
worden zullen ze beter besluiten nemen, daarnaast moet die informatie tot hun beschikking
staan op het moment dat ze het besluit moeten nemen.

1.1.2. Van wie is BI?


Business Intelligence draait om mensen en de beslissingen die zij nemen. Hierbij is gelijk
duidelijk dat BI niet van de ICT is. Het gevaar zit namelijk niet in het feit dat ICT een rol speelt,
maar dat hun rol zo groot en dominant wordt, dat het een project van alleen de afdeling ICT
wordt. Het is juist maar een middel om tot het doel te komen. Het doel van BI is voornamelijk:
“Business Intelligence heeft als doel competitief voordeel te creëren en organisaties slimmer te
kunnen laten werken”. Wanneer een BI oplossing niet de juiste informatie voorziet bij het maken
van de juiste beslissingen is het project mislukt. Ook als de BI oplossing niet gebruikt wordt is het
project mislukt. Om ervoor te zorgen dat mislukte projecten zo weinig mogelijk voorkomen,
moeten de eindgebruikers van het begin aan betrokken zijn.

1.1.3. Voor wie is Business Intelligence?


Business Intelligence is voor iedereen. Het is zowel interessant voor grote als voor kleine
bedrijven. Het is in elke branche interessant. Binnen een bedrijf biedt het meerwaarde aan
alle soorten functies, van hoog tot laag.
Vroeger werd er gesproken van Decision Support Systems(DSS). De informatie die uit
deze systemen kwam, was vaak hoog geaggregeerd. De informatie die eruit kwam was
voornamelijk stuurinformatie voor hoog in de organisatie. Tegenwoordig is de informatie
beschikbaar voor alle lagen binnen de organisatie, want iedereen binnen de organisatie moet
wel eens een beslissing nemen.
1.1.4. Self service BI
Binnen een Business Intelligence-project zul je twee zaken minimaal moeten
overwinnen:
1. Is de BI-oplossing die gebouwd wordt wel wat de gebruikers nodig hebben?
2. Komt de oplossing wel op tijd?
Self Service BI, waar de gebruikers zelf hun benodigde informatie maken, kan hierbij
helpen. Informatieanalyse is het achterhalen watje behoeftes, wensen en eisen van de
beoogde eindgebruikers van een systeem, zijn. Een veelgebruikte informatieanalyse techniek
is het voeren van interviews. Je moet hierbij wel open vragen stellen. Wanneer je vragen stelt
tijdens interviews is het heel goed mogelijk dat mensen vinden dat er geen problemen zijn.
De redenen waarom mensen zo reageren kunnen het volgende zijn:
1. Toegeven dat je je werk niet optimaal doet is moeilijk
2. angst voor het onbekende
3. onwetendheid over de mogelijkheden
4. miscommunicatie
Met self service BI is het mogelijk om mensen wel over te halen om nieuwe zaken uit te
vinden. Laat de gebruikers zelf beginnen, voordat je vragen gaat stellen. Een ander probleem wat
ook kan ontstaan is het moment waarop de oplossing door de gebruikers toegepast kan gaan
worden. Sluit alles nog wel aan bij de eisen van de gebruikers? Dit zijn zaken waar je ook
rekening mee moet houden. Self Service BI draait om het in staat stellen van eindgebruikers
om zelf in hun informatiebehoefte te voorzien zonder anderen te vragen oplossingen voor ze
te bouwen ten einde de juiste informatie op het juiste moment ter beschikking te hebben.

1.1.5. Waarom Business Intelligence?


Business Intelligence gaat erom de mensen binnen een organisatie beter hun werk te
laten doen, waarmee de organisatie als geheel beter wordt. Goede, accurate, tijdige
informatie kan het verschil maken tussen success en faillissement. Business Intelligence is
iedereen in een organisatie op het juiste moment van de juiste informatie in het juiste formaat
te voorzien met als doel competitief voordeel te behalen door verbeterde besluitvorming te
realiseren.

1.2. Andere terminologie en definities


1.2.1. Datawarehouse
Een datawarehouse is een centrale database gevuld met gegevens uit een of meer
aparte bronnen met als doel het maken van rapportages en het doen van data-analyse. Een
aantal voordelen van een datawarehouse zijn:
• Historische gegevens
• kwaliteit gecontroleerd
• verschillende bronnen samenvoegen
• performance geoptimaliseerd
• rapportages uit 1 bron
lOMoARcPS D|1580045

1.2.2. Extract, Transform, Load


Het ETL-proces zorgt voor de juiste vulling van het database house en daarmee voor de
kwaliteit van de rapportages die je maakt en de analyses die je doet. ETL staat voor Extract,
Tranform en Load.
• Extract: haal gegevens uit bronssysteem
• Transform: pas de gegevens aan aan de eisen die het datawarehouse stelt aan de
gegevens
• Load: laad de gegevens in het datawarehouse

1.2.3. Staging, ODS


In de praktijk zullen gegevens bijna altijd eerst in een aparte laag, een aparte database,
gezet worden. Dit wordt de staging area of staging database genoemd. Een staging database is
een database waarin gegevens tijdelijk worden opgeslagen tijdens het ETL-proces alvorens ze
worden overgehaald naar het datawarehouse. Vaak zal er nog een laag van datamarts tussen de
lagen worden gemaakt. Een datamart is een deelverzameling van een datawarehouse die
specifiek voor een deelgebied van de te maken rapportages wordt gemaakt. Naast staging is ODS,
Operational Data Store ook een veelgebruikte term. Een ODS is de eerste plek waar gegevens
landen nadat ze uit het bronsysteem zijn gehaald. Het is een soort staging database.

1.2.4. Kubussen, modellen


Soms kan het gebruik van een datawarehouse niet voldoen aan alle wensen van een
organisatie. Er kunnen een aantal problemen optreden zoals:
• performanceproblemen
• moeite goede query’s te genereren
• Eindgebruikers willen gemakkelijk en snel op een flexibele, niet vooraf
gedefinieerde wijze door de gegevens heen kunnen ‘wandelen’.

Door gebruik te maken van semantische modellen kunnen deze problemen verholpen
worden. Een semantisch model is een abstractielaag die betekenis en verbanden toevoegt
aan de gegevens in een database. Een kubus is een meerdimensionale draaitabel.
1.2.5. Datamining
Datamining is het gericht zoeken naar (statistische) verbanden in gegevensverzamelingen
met als doel profielen op te stellen voor wetenschappelijk of commercieel gebruik.

1.2.6. Big Data


Een datawarehouse is een relationele database. De tabellen en gegevens worden
beheerd door een RDBMS. Het levert veel voordelen op rond beheer en consistentie van
gegevens. Big Data refereert aan datasets waarbij bovenstaande een issue wordt. Er zijn 3
aspecten aan Big Data die hiermee te maken hebben. Deze zijn:
1. Volume: hoeveelheid gegevens
2. Velocity: verwerkingssnelheid
3. Variety: diversiteit van de gegevens
Big Data referrers aan datasets waarbij de hoeveelheid aan gegevens, de snelheid
waarmee die verwerkt moeten worden en/of hun diversiteit een probleem worden als de
gegevens op een klassieke manier worden behandeld.
OMoARcPS D|1580045

Hoofdstuk 2
2.1. Business Intelligence in de organisatie
2.1.1. Volwassenheid
Business Intelligence wordt als een waardevolle kerncompetentie beschouwd. Lang niet
in alle organisaties wordt BI als een kerncompetentie gezien. Bedrijven gebruiken een
volwassenheidsmodel om te bepalen hoever ze zijn in het BI proces. Zo is er een model met
de volgende 5 fases:
1. Prenatale Fase: geen sprake van BI
2. Peuterfase: een of andere vorm gebruik makend van wat wel spreadmarts worden
genoemd. Een spreadmart is een decentrale gegevensverzameling, voor eigen gebruik
gemaakt door een individu, vaak opgebouwd met een spreadsheetprogramma.
3. Kindfase: er komt regie in de BI. Er komt een centrale datamart.
4. Volwassen fase: Datamarts worden gevoed vanuit het centrale datawarehouse.
Het datawarehouse wordt de ‘single version of the truth’.
5. Ontwikkelde fase: Er worden gevorderde analyses gedaan. BI is uitgegroeid tot een
competentie.

Groei: Wanneer een bedrijf in de ontwikkelde fase komt, is het verstandig om gebruik
te gaan maken van een Business Intelligence Competence Center. Een BICC is een speciaal
multidisciplinair team dat zich volledig richt op het doen van BI binnen de organisatie. Van
kritiek belang voor elke BI-implementatie is de acceptatie door de eindgebruikers.

2.1.2. Life Cycle


BI bestaat uit vier fases die continu in elkaar overlopen. Deze fases zijn:
1. Analyseren: verbanden zoeken
2. Verkrijgen van inzicht: Conclusie stellen op basis van de analyse
3. Het uitzetten van acties: plannen van veranderingen op basis van het verkregen
inzicht.
4. Het meten van de resultaten van de uitgezette acties
Door het volgen van de BI Life Cycle ontstaat er ook een probleem. Want door het succes
van het datawarehouse maakt het datawarehouse outdated. Daarom is het slim om gebruik
te maken van Agile Business Intelligence. ABI refereert aan het gebruiken van Agile
softwareonwikkelmethodieken om snel en makkelijk te kunnen inspelen op veranderende
behoeften vanuit de organisatie.

2.1.3. Ambitie
Om de ambitie van een organisatie te kunnen inschatten wordt gebruik gemaakt van de
Business Intelligence Maturity Matrix. Deze dient 2 doelen, het bepalen waar men nu staat
en
bepalen wat de ambities ten aanzien van BI
zijn. Wanneer beide punten duidelijk zijn,
kan er een roadmap gemaakt worden dat
ertoe moet leiden dat de ambitie gerealiseerd
gaat worden. Het hoogste ambitieniveau is
het behalen van een intelligente
organisatie. Informatie en vooral het
gebruik van informatie is een integraal
onderdeel geworden van de organisatie. BI
is niet langer een project, maar een
belangrijk en
lOMoARcPS D|1580045

continu proces binnen de organisatie. De organisatie leert en past zichzelf aan. Innovatie is
een belangrijke drijfveer/ambitie. In de intelligente organisatie is BI het gewone werk
geworden en is BI van duur project verworden tot kerncompetentie.

2.1.4. Implementatie
De eerste stap bij het implementeren is het bepalen van het doel. Deze moet bepaald
worden voor 3 verschillende niveaus:
1. Strategisch niveau: hoogste niveau en behoort tot hoger management. De strategie
van een organisatie is de manier waarop een organisatie als geheel denkt haar doelen te
gaan behalen. In het kader van dit hoofdstuk betekent strategisch het maken van de keuze
welke rol BI speelt binnen de organisatie. Op strategisch niveau spreken we van het
richten van BI.
2. Tactisch niveau: Gemaakte strategische keuzes ten uitvoer te brengen. De roadmap
is het stappenplan om de gestelde ambitie te bereiken. Op tactisch niveau spreken we
van het inrichten van BI.
3. Operationeel niveau: het uitvoeren van zaken. Mensen moeten daadwerkelijk gegevens
verzamelen en analyseren. Op basis van de opgedane kennis moeten beslissingen genomen
worden. Op operationeel niveau spreken we van het verrichten van BI.

Wanneer iets besloten wordt op het gebied van BI moet er aan een aantal aspecten
gedacht worden. Deze zijn:
➡ Scope: Scope is het afbakenen wat wel en ook vooral wat niet een onderdeel is van
een project. Een deel van de problemen in de informatievoorziening die we proberen op
te lossen, komt door onafhankelijke operationele systemen. De BI oplossing moet dus een
geïntegreerde oplossing zijn. Om de scope te bepalen moet er een globaal procesmodel
gemaakt worden. Waarbij je kijkt naar welke processen, wie en producten.
➡ Doelen: Bepaling van doelen en scope is een iteratief proces. Ze moeten voor alle 3
de lagen beschreven worden, en moeten SMART geformuleerd zijn.
➡ Informatiebehoefte: Een informatiebehoefte is de informatie die een werknemer in een
bepaalde functie nodig heeft om zijn of haar functie naar behoren uit te voeren. Er zijn een
paar zaken waar je naar moet kijken bij het vinden van de informatiebehoefte, dit zijn:
➡ Doelgroep: acceptatie en gebruik zijn weer belangrijk. er zijn 4 soorten
gebruikers:
➡ Farmers: vaste, terugkerende informatiebehoefte
➡ Tourists: behoefte aan ad-hoc informatie. Zelf rapporten kunnen
aanpassen
➡ Explorers: gaan analyseren. Rapporten zijn vrij statisch.
➡ Miners: proberen patronen in de gegevens te herkennen.
➡ Meetwaarden: KPI (kritieke prestatie indicatoren). Een indicator laat in 1
opslag zien of het goed gaat met een bepaald proces. Bestaat uit 4
componenten:
➡ meetwaarde
➡ doelstelling
➡ status
➡ trend
Balanced scorecard: het succes van een bedrijf wordt bepaald door meerdere
factoren die onder te verdelen zijn in vier deelgebieden of perspectieven:
lOMoARcPS D|1580045

➡ Financiële perspectief: vertegenwoordigt de kijk van financiers en


aandeelhouders op de organisatie
➡ Klant perspectief: zegt iets over de markt
➡ interne perspectief: werknemers en de processen binnen de
organisatie.
➡ leer- en groeiperspectief: innovatieperspectief genoemd, heeft het
vizier iets meer op de toekomst gericht.
➡ Context: geeft betekenis aan meetwaarden, aan KPI’s
➡ Bronnen
➡ Architectuur
➡ Organisatie

2.2. Business Intelligence-projecten


2.2.1. Geen gewoon IT-project
Een groot deel van een BI-project is ICT-gerelateerd. De IT-componenten van een BI-project,
zijn slechts een middel om het grotere BI-doel te realiseren. De belangrijkste consequentie van
het feit dat een BI-project geen ICT-project is, is dat er niet IT mensen lid moeten zijn van het
projectteam. De beoogde eindgebruikers van BI-oplossingen moeten vanaf het begin betrokken
worden bij elk BI-project. Bij elk project zijn er een aantal vaste rollen:
• Projectleider: project leiden.
• Architect: overall infrastructuur bepalen, high level overview hebben van alle
componenten, hun meerwaarde en beperkingen kennen, en de juiste blokjes kiezen om
de puzzel te maken.
• DBA’ers en ontwikkelaars: technische uitvoering
• Informatieanalist: gat dichten tussen organisatie en techneuten
• Eindgebruikers: acceptatie van het project
• Executive sponsor: aanmoedigen project
• Data steward: eindverantwoordelijk voor kwaliteit informatie

Gevaren van een ICT-project:


nadruk te veel legt op de technische kant, dus een benadering vanuit ICT en niet
vanuit de organisatie, kan leiden tot:
• Gebrek aan acceptatie: oorzaken zijn:
• niet op juiste moment voorhanden
• niet actueel genoeg
• niet relevant
• gebruikers doen niks met informatie
• gebruikers vertrouwen informatie niet
• gebruikers willen er niet mee werken
• het is te technisch
Deze problemen kunnen opgelost worden door vroege betrokkenheid van de
gebruikers. Wel kan het management mensen dwingen om mee te werken.
lOMoARcPS D|1580045

• niet genoeg in staat mee te groeien: BI is een continu proces en niet een eindig
project. BI is dus geen project maar een van de processen binnen een organisatie.
• te duur en te lang: Zonder een goede scope, bepaald door de organisatie, wordt
een BI-project onbeheersbaar groot.
• richt zich te veel op het verzamelen van gegevens

2.2.2. Informatieanalyse
De informatieanalyse is het proces waarin je achterhaalt wat de doelen zijn en wat de
benodigde behoeften zijn om die doelen te realiseren.
Hoofdstuk 3
3.1. Het datawarehouse
Een datawarehouse is een centrale database gevuld met gegevens uit een of meerdere
aparte bronnen met als doel het maken van rapportages en het doen van data-analyse.
Het is een relationele database. Dat wil zeggen dat de informatie opgeslagen is in de
vorm van tabellen. Een datawarehouse is de ‘single version of the truth’. Om ervoor te
zorgen dat het datawarehouse gebruikt wordt voor rapportages en analyses, moet
ervoor gezorgd worden dat alles wat van belang is erin zit en dat iedereen altijd alleen
het datawarehouse gebruikt voor het verkrijgen van informatie. De gegevens die je
beschikbaar hebt om te gebruiken, bij het vullen van de datawarehouse, zijn vaak
onvolledig en van slechte kwaliteit. De volledige waarheid is daarmee misschien buiten
je bereik, zolang de organisatie de informatie maar vertrouwd en stuurt als de versie
van de waarheid.

3.1.1. Waarom een datawarehouse?


Je maakt gebruik van een datawarehouse vanwege de mogelijke problemen die
kunnen ontstaan als je rapporten en analyses maakt direct op het bronsysteem.
• Performance gerelateerde problemen

3.2. Performance van rapporten Operationele databases zijn geoptimaliseerd voor een
OLTP workload. OLTP staat voor Online Transaction Processing, waarbij het gebruik van
de database zicht kenmerk door veel kleine acties waarbij een relatief groot aantal van
die acties wijzigingen betreft.

3.2.1. Normaliseren
Databases die een OLTP workload ondersteunen, worden in meer of mindere mate
genormaliseerd. Normaliseren van een database voorkomt redundantie en vergroot
de consistentie van de gegevens. Voordelen zijn dat de kans op fouten kleiner wordt
en dat de database in z’n geheel kleiner blijft. Het schrijven in een database gaat sneller
als er minder redundantie in zit. een alleen-lezen workload wordt ook wel een OLAP
workload genoemd, OLAP staat voor Online Analytical Processing, waarbij het gebruik
van de database zich kenmerkt door voornamelijk lezen. Normaliseren geeft geen
voordeel bij een OLAP workload. Een nadeel van normaliseren voor OLAP is dat de
benodigde query’s moeilijk en traag worden. Wanneer grote hoeveelheden gegevens
nodig zijn, zijn genormaliseerde databases slecht voor performance. Met het bouwen
van een DWH heb je de mogelijkheid de gegevens op te slaan in een structuur die
geschikt is om snel en adequaat informatie uit een database te lezen.
Normaliseren heeft een aantal effecten:
• veel verschillende tabellen: om redundantie te voorkomen worden dubbele
gegevens in aparte tabellen gezet
• tabellen worden smal: tabellen bestaan uit relatief weinig kolommen
3.2.2. Indexen
Belangrijk voor de performance is de gekozen indexstrategie. Er zijn 2
hoofdvormen:
• Clustered index: database-engine maakt gebruik van de kennis van
de sorteervolgorde om de gevraagde records snel op te halen. Lezen in de
database is snel, maar schrijven is traag.
• Nonclustered index: verwijzingen naar records zijn gemaakt.
Een datamart of een rapportagedatabase kan indexen bevatten die speciaal
voor rapporten en analyses zijn gemaakt. Dit levert verbeterde performance
op ten opzichte van de bronsystemen en daarmee betere acceptatie.

• 3.3. schrijven van query’s


Veel joins in query’s hebben tot gevolg dat de performance van de query’s zakt.
Daarnaast gaat er vaak tijd verloren tussen het ontstaan van een informatiebehoefte
en het invullen daarvan. Dit kan opgelost worden door gebruik te maken van Self
Service BI. Om dit te laten slagen hebben mensen de juiste tools en de gegevens
moeten op een begrijpelijke manier aangeboden worden. Om dit laatste voor elkaar
te krijgen kan er gebruik gemaakt worden van datamarts, deze bieden gebruikers
informatie aan in een voor de gebruiker begrijpelijke eenvoudige vorm.

• 3.4. performance van de operationele applicatie gaat achteruit Door het


maken van rapportages en analyses gaat de performance van de operationele
applicaties achteruit. Er kunnen 2 problemen ontstaan.
• 3.4.1. Resource-gebruik: CPU, maar ook geheugen en storage kunnen
een probleem worden. De meeste database-systemen proberen zo veel
mogelijk gegevens in het geheugen te houden. Grote
gegevensverzamelingen kunnen voor het OLTP proces belangrijke
gegevens uit het geheugen verdringen waardoor het OLTP trager wordt. Er
is een gerede kans dat een BI workload een bottleneck veroorzaakt op de
databaseserver als je niet een aparte server inricht voor de BI processen
• 3.4.2. Concurrency: Concurrency is het tegelijkertijd werken in de
database. Rapportages en analyses kunnen grote impact hebben op de
performance van operationele processen. De rapportages en analyses
loslaten op een datawarehouse lost dit probleem op.

• Inhoudelijke problemen
• 3.5. gegevens kwaliteit is slecht: De informatie die in de database gezet
wordt kan verschillende kwaliteitsproblemen hebben.
• 3.5.1. Dubbele gegevens: dubbele records in operationele systemen
leiden tot foutieve resultaten tijdens analyses. Doordat een
datawarehouse
lOMoARcPS D|1580045

gecontroleerd gevuld wordt door zorgvuldig geteste processen, is het


voorkomen van dubbele gegevens in datawarehouses makkelijker dan in
operationele databases.
• 3.5.2. Ontbrekende gegevens: In operationele databases ontbreken
soms gegevens die voor analyses van belang zijn. Tijdens het vullen van een
datawarehouse kan dit gedetecteerd worden en kunnen de ontbrekende
gegevens worden aangevuld of expliciet gekenmerkt worden als
onbekend.
• 3.5.3. Foutieve gegevens: bepaalde programma’s helpen om foutieve
gegevens tijdens het laden van een datawarehouse op te sporen en
automatisch te verbeteren.
• 3.5.4. Inconsistente gegevens: Standaardapplicaties geven de
vrijheid om voor een organisatie niet-consistente informatie op te slaan in
de database. Een datawarehouse lost deze inconsistenties niet meteen op.
Tijdens het laden van het datawarehouse komen ze waarschijnlijk wel aan
het licht. Er ontstaat dan een keuze hoe hiermee om te gaan.
• 3.6. informatie uit databases komt niet overeen: Een bedrijf heeft vaak meer
dan 1 database. Als 2 verschillende systemen dezelfde cijfers zouden moet geven,
zal er in de praktijk vaak een verschil tussen beide systemen te zien zijn. Een
centraal datawarehouse zorgt voor het gebruik van 1 centrale definitie van
termen. Het is van groot belang om tijdens de informatieanalyse te achterhalen of
er meer dan 1 definitie gebruikt wordt binnen de organisatie. Eenduidigheid van
gegevens en definities is van cruciaal belang voor BI-oplossingen.
• 3.7. geschiedenis gaat verloren: Wanneer veranderingen optreden, heeft
men te maken met Slowly Changing Dimensions (SCD). Operationele databases
houden vaak geen historie bij met betrekking tot wijzigingen. In een
datawarehouse kun je dit wel doen. Datawarehouses bieden daardoor
uitgebreidere analysemogelijkheden dan operationele databases.
lOMoARcPS D|1580045

Hoofdstuk 4
4.1. Dimensioneel modelleren
4.1.1. Inleiding
Dimensioneel modelleren is een manier van database ontwerp, die poogt deze
tekortkomingen weg te poetsen. Uitgangspunt is dat de database een voornamelijk alleen-
lezen workload krijgt (OLAP). Dimensioneel modelleren leidt tot een database met een
zogenaamd stermodel. Een datamart is een database waarvan de fabelstructuur een ster
vormt en die 1 proces uit de organisatie beschrijft. In de theorie van Kimball bestaat het
datawarehouse uit de verzameling van alle stermodellen die tezamen de hele organisatie
beschrijven. Een stermodel is voor een vakinhoudelijk deskundige een gemakkelijke te
begrijpen, en daarmee te gebruiken model. Een stermodel bestaat uit 2 soorten tabellen:
๏ feitentabel: is de tabel waar grootheden die een proces meetbaar maken in
worden opgeslagen. KPI’s worden gebaseerd op deze grootheden.
๏ Dimensietabellen: zijn de tabellen dei de context bevatten die betekenis geeft aan
de feiten.

4.1.2. Modelleren
Vier hoofdstappen om tot een stermodel te komen.
1. kies het te modelleren proces.
Bij normaliseren modelleer je de gegevens en hun verbanden. Bij dimensioneel
modelleren modelleer je de bedrijfsprocessen. dimensioneel modelleren staat dichter bij
eindgebruikers. Start het bouwen van het datawarehouse met het modelleren van een
proces dat gemakkelijk is en veel meerwaarde heeft.
2. bepaal het te gebruiken detailniveau.
De grain is het detailniveau van de datamart. Het detailniveau bepaald hoe groot de
database gaat worden. En heeft daarmee ook invloed op de performance. Een laag
detailniveau resulteert in een grote database met bijbehorende performance-
uitdagingen, maar levert wel de meeste mogelijkheden in termen van welke vragen
beantwoord kunnen worden. Alle beschikbare details opslaan heeft tegenwoordig de
voorkeur. Het grain statement is de uitspraak die vastlegt op welk detailniveau je
gegevens in het datawarehouse gaat opslaan.
3. bepaal de van toepassing zijnde dimensie.
Dimensies geven context, betekenis, aan de cijfers die een proces inzichtelijk maken. De
belangrijkste dimensies volgen uit het grain statement. Het bepalen van het grain
statement en het bepalen van de relevante dimensies is een iteratief proces. Een dimensie
kenmerkt zich door de vele beschrijvende elementen die ervoor te vinden zijn.
4. bepaal de relevante feiten.
Feiten worden ook wel meetwaarden genoemd. De processen, en veranderingen in die
processen, moeten meetbaar zijn.
Laat altijd de wensen en eisen van de gebruikers leidend zijn in je opzet.
4.1.3. Dimensies
To slice and dice staat voor het maken van willekeurige doorsnedes door de feiten. Een
attribuut is een kenmerk van een dimensie, ofwel een kolom in de dimensietabel. Alles
waarop gefilterd of geaggregeerd moet worden, moet een attribuut zijn van een dimensie.
Nadat je de relevante dimensies hebt onderkend, is het zaak zo veel mogelijk relevante
beschrijvende elementen van deze dimensies te benoemen.

Bijna alle datawarehouses hebben een datumdimensie, omdat de tijd een belangrijke rol
speelt in ons leven. Er is een aantal redenen waarom datumdimensies veel meerwaarde
hebben in datamarts.
๏ Gemak van filteren: met een datumdimensie kun je ervoor zorgen dat er voor elke
relevante periode een gedefinieerde kolom bestaat.
๏ Gebroken boekjaren: De datumdimensie bevat de bedrijfsregel die definieert van
wanneer tot wanneer een boekjaar loopt.
๏ Weeknummers: de datumdimensie bevat de bedrijfsregel die definieert in welk
weeknummer een dag valt.
๏ ontbrekende data: Een datumdimensie bevat gegevens over alle periodes, ook
periodes waarin zich geen feiten hebben voorgedaan.
๏ Extra metadata: Een datumdimensie bevat extra informatie over periodes
๏ Performance: In plaats van voor elke query opnieuw met functies een periode te
berekenen, is die berekening vooraf gedaan. Query’s worden sneller.

Bij het bouwen van een datumdimensie moet je op het volgende letten:
๏ gewenste detailniveau: in veel datawarehouses bevat de datumdimensie een
record voor elke dag op de kalender
๏ bepaal de sleutels: een goede datumdimensie bevat voor elke relevante periode
een unieke sleutel in de vorm van een getal en een kolom met een leesbare beschrijving.
๏ Bepaal de overige kolommen: Naast de sleutels bevat de datumdimensie
beschrijvende informatie.

Er zijn een aantal zaken die belangrijk zijn bij het maken van dimensies:
๏ het aantal te maken dimensies: is volledig afhankelijk van de wensen en eisen.
Probeer het aantal dimensies te beperken tot max 6.
๏ Denormaliseren van dimensies: Dimensietabellen zijn platgeslagen, niet
genormaliseerde tabellen die veel redundantie bevatten.
๏ Te kiezen sleutels: Een surrogaten key of datawarehousekey is een automatisch
gegenereerd, uniek betekenisloos nummer dat elke record krijgt toegewezen op het
moment dat het in het datawarehouse wordt weggeschreven.
๏ Soort informatie: Een dimensie bevat bij voorkeur zoveel mogelijk tekstuele
informatie met betrekking tot de dimensie.
4.1.4. Slowly Changing Dimensions
In operationele databases is er een gebrek aan historische gegevens. Dit wordt door
Kimball beschreven als Slowly Changing Dimensions (SCD), hier zijn een aantal oplossingen
voor. De term SCD refereert aan het feit dat attributen van dimensies in de loop van de tijd
kunnen veranderen en draagt standaardoplossingen aan voor hoe hier in het datawarehouse
mee om te gaan.
1. SCD type 1: de oude waarde waarde van een attribuut wordt overschreven door de
nieuwe, actuele waarde. De waarde van het attribuut wordt niet historisch bijgehouden.
2. SCD type 2: bij elke verandering van een attribuut wordt een volledig nieuw record
aangemaakt. Er bestaan ‘actuele’ records en ‘afgesloten’ records.
3. SCD type 3: je houd van een attribuut in 2 verschillende kolommen zowel de huidige
als de vorige waarde bij. Op die manier kunnen huidige en vorige waarde gemakkelijk
vergeleken worden.

4.1.5. Conformed dimensions en snowflakes


oARcPSD|15 80045

Een snowflake is een stermodel waar van een of meer dimensies niet zijn platgeslagen maar
zijn genormaliseerd. Soms is het wel nuttig om te normaliseren:
๏ het maken van zogenaamde conforme dimension: Veel dimensies zullen voor meer
dan een proces interessant zijn. Je wilt deze dimensies zo veel mogelijk hergebruiken bij
alle relevante processen. Een dimensiematrix laat overzichtelijk zien welke dimensies
relevant zijn voor welke processen. Een conformed dimension is een dimensie die
dusdanig generiek is opgezet dat hij door elk relevant stermodel, zonder aanpassingen,
gebruikt kan worden.
๏ beheersbaarheid: Het normaliseren van een dimensie en daarmee maken van een
snowflake kan helpen dimensietabellen klein te houden.

4.1.6. Overige dimensie-overwegingen


Deze zijn:
๏ junkdimensie: is een dimensie die bestaat uit een combinatie van enkele niet
gerelateerde, zeer kleine dimensies
๏ gedegenereerde dimensie: is een dimensie zonder dimensieattributen.
๏ unknown member: Unknown is een dummy record in een dimensietabel. Dit record
zorgt ervoor dat feiten uit de feitentabel die niet gelinkt kunnen worden aan een
dimensierecord nu toch gelinkt kunnen worden.

4.1.7. Feiten
Uit de informatieanalyse zijn indicatoren of zelfs KPI’s, naar voren gekomen. Daar wordt
een organisatie op gestuurd. Dat zijn feiten, en die zijn over het algemeen numeriek en
meestal aggregeerbaar. De feitentabel in het sterschema is de centrale tabel in het midden.
Er zijn verschillende soorten feiten.
๏ Additieve feiten: deze kan je bij elkaar optellen
๏ niet-additieve feiten: zijn niet op te tellen, zoals percentages
๏ semi-additieve feiten: in sommige dimensies wel op te tellen en in andere niet
Daarnaast zijn er nog verschillende soorten feitentabellen. De meeste feitentabellen
zijn als het ware registraties van wat er is gebeurd.
๏ accumulating snapshot: is een feitentabel die de huidige status van de feiten
weergeeft maar waarbij feiten nog aan verandering onderhevig kunnen zijn.
๏ periodiek snapshot: is een feitentabel die stand van de feiten weergeeft op een
specifiek moment. Voor een ander moment wordt een ander snapshot gemaakt.

4.2. Bill Inmon


4.2.1. Kritiek op Kimball
Veel gehoorde kritiek op de Kimball-aanpak is dat het dimensioneel gemodelleerde
datawarehouse slecht in staat is zich aan te passen aan veranderen omstandigheden.

4.2.2. Inmon methodiek


Een Inmon-datawarehouse is een genormaliseerde database. Dat betekent dat hij si
gemodelleerd op basis van verbanden tussen gegevens die stabiel zijn in de tijd in plaats van
op basis van veranderlijke processen. Bij een datawarehouse volgens Inmon wordt het
datawarehouse alleen gebruikt om datamarts te vullen, het wordt niet gebruikt als bron voor
rapporten of analyses. De Corporate Information Factory is het geheel van componenten van
stagen database tot en met datamarts dat ervoor zorgt dat gegevens uit operationele
systemen omgevormd worden tot informatie voor de medewerkers van een organisatie.

RcPSD|1580045

4.2.3. Kritiek op Inmon


De komball-methodiek maakt een iteratieve projectaanpak met kleine stappen en snel
opleveren van resultaten mogelijk. De Inmon-opzet van een datawarehouse dwingt je eerst
het hele datawarehouse te ontwerpen. Dit is moeilijk te rijmen met de tegenwoordige
geprevaleerde iteratieve manier van werken.

4.3. Data Vault


4.3.1. Definitie
Data Vault is een verzameling gekoppelde tabellen die gedetailleerde en historische
informatie bevatten van een of meer processen. Het is een mix tussen normaliseren en
dimensioneel modelleren. Later kan deze structuur uitgebreid worden. Gebruikers
rechtstreeks op een Data Vault-structuur laten werken is dan ook een slecht idee. De
datamarts bevatten de informatie uit de Data Vault.
4.3.2. Hubs, Links en Satellites
Het stappenplan voor het maken van een Data Vault structuur.
1. bepaal de business keys, de hubs
Hubs zijn tabellen die vergelijkbaar zijn met dimensietabellen maar dan zonder alle
beschrijvende attributen. bevat: Surrogate key, business key, record source, load audit ID
2. bepaal de relaties tussen business keys, de links Links zijn tabellen die vergelijkbaar
zijn met feitentabellen. Ze beschrijven de relaties die verschillende hubs onderling
hebben. Ze bevatten de feiten zelf niet. bevat: Surrogaten key, hub keys, record source,
load audit ID.
3. bepaal de beschrijvende informatie van de business keys, de satellites Satellites zijn
de tabellen die de feiten- en dimensie attributen bevatten. Ze zijn door middel van foreign
keys gekoppeld aan links of hubs. Bevatten: Surrogaten key, hubkey/sattelitekey,
volgnummer, begin- en einddatum, record source, load audit ID, beschrijvende velden.
4. onafhankelijke tabellen toevoegen
5. tabellen toe voegen om performance van query’s te ondersteunen.

4.3.3. Voordelen Data Vault


๏ Eenvoud van laden: is generiek, gemakkelijk om te vullen
๏ Snelheid van laden: hubs, links en satellites zijn onafhankelijk, de foreign keys
zitten in de hubs, dus die moeten eerste geladen worden.
๏ Betrouwbaarheid van laden: laden is betrouwbaarder, en het loggen van fouten
eenvoudiger. Dat moet leiden tot een betrouwbaarder laadproces.
๏ Compliance: opzet met source keys en verwijzingen naar audit-records
lOMoARcPS D|1580045

Hoofdstuk 5
5.1. Inleiding
5.2. Technisch Ontwerp
Nadat je een functioneel ontwerp gemaakt hebt, het functioneel ontwerp van een
database is de gewenste fabelstructuur alleen rekening houdend met de functionele eisen
zoals die naar voren komen uit de informatieanalyse, moet het technisch ontwerp gemaakt
worden. Het doel van een technisch ontwerp is om het functioneel ontwerp aan te passen
aan de werkelijkheid. Dit kwam 2 problemen opleveren zoals dat de performance niet
toereikend zijn, en dat de structuur niet werkbaar is gezien de beperkingen van het DBMS.
Om deze problemen te voorkomen, moet je weten hoe groot de verschillende tabellen gaan
worden.

5.2.1. Aantal records


Het belangrijkste is dat je in orde van grootte probeert een inschatting te maken van
het aantal records, zowel nu als in de toekomst. Als je ziet aankomen dat een tabel erg groot
gaat worden, moet je vooraf nadenken over hoe die omvang te beheren. Sommige tabellen
in datawarehouses worden zo groot dat ze onbeheersbaar worden. Als je dat vooraf ziet
aankomen kun je maatregelen treffen.

5.2.2. Gemiddelde recordlengte


De gemiddelde lengte van de records is belangrijk. Om dit te bepalen worden 3 zaken
bekeken, namelijk welke kolommen, wat is het datatype en de gemiddelde lengte. Het
datatype van een kolom bepaalt het soort gegevens dat in deze kolom opgeslagen kan
worden. Er zijn 3 verschillende datatypes:
1. numeriek: hoe groter het datatype, hoe groter de getallen die je kunt opslaan, maar
ook hoe meer opslagcapaciteit en geheugen je nodig hebt. Kies altijd het kleinste datatype
dat gegarandeerd groot genoeg is voor wat je met een kolom gaat doen.
2. alfanumeriek: Alfanumerieke velden kennen over het algemeen een variant van
vaste lengte en een variant met variabele lengte.
3. Datum: een apart datatype. gemiddelde lengte van namen: Als je van elke kolom
het datatype kent, en als je van alle kolommen met een variabele lengte kent, kun je de
gemiddelde recordlengte uitrekenen.

5.2.3. Page size


Met het toepassen van verticale partitionering of snowflakes kun je de problemen
voorkomen. Gemiddelde recordlengte en page size zijn belangrijk om in een vroeg stadium te
weten zodat je een model kunt maken dat rekening houdt met beperkingen waardoor er later
geen performanceproblemen zullen ontstaan. Je moet altijd kijken hoe het functionele ontwerp
aansluit bij de eventuele beperkingen van het DBMS en aanpassingen doen waar dat nodig is.
OMoARcPS D|1580045

5.2.4. Grootte van de database


Factoren die effect hebben op de totale omvang, hierbij moet je denken aan:
• compressive van de gegevens
Het is ook erg handig bij grote tabellen. Je bereikt namelijk twee dingen met compressie:
• Minder opslagcapaciteit nodig: sneller back-ups, meer tijd voor andere
zaken en restore tijden kunnen belangrijk zijn voor afgesproken SLA’s
• Betere performance: gaat niet ten koste van performance, door het
toepassen van compressie hoever er minder gegevens direct van de schijf
ingelezen worden. Daarmee gaan query’s beter performen.
• indexen
Een index maakt het als het goed is makkelijker om bij de juiste gegevens te komen. Dat
zorgt voor een betere performance van query’s.

5.2.5. Overige factoren


Het is belangrijk om bij nog meer dingen stil te staan bij:
• verwachte workload Om een inschatting te maken van de qorkload kun je query’s
indelen in simpele, gemiddelde en complexe query’s:

• simpele query’s zijn gewone recht-toe-recht-aan SELECT statements,


zonder moeilijke functies, beperkingen of constructies.
• Gemiddelde query’s worden met een grote frequentie uitgevoerd en
bevatten een aantal joins en aggregaties
• Moeilijke query’s bevatten complexe logica.
• aantal gebruikers Is het aantal concurrent gebruik is mede bepalend voor de
belasting op je systeem.
• beschikbaarheidseisen
De beschikbaarheid van het datawarehouse, dit kan lokaal maar kan ook een corporate
datawarehouse zijn. Daarnaast moeten er ook eisen opgesteld worden met betrekking
tot downtime. Wanneer een datawarehouse 24/7 online moet staan is het namelijk
moeilijk om deze down te halen om te patchen. Ook moet er bekeken worden wat er
moet gebeuren wanneer niet geplande downtime ontstaat.
5.2.6. Grootte van je oplossing
Klein Middelgroot Groot

Volume gegevens <=1TB 1 t/m 10 TB >10TB

Query complexiteit >= 50% eenvoudig +- 50% eenvoudig 30-35% eenvoudig


+- 30% gemiddeld 30-35% gemiddeld +-40% gemiddeld
< 10% complex 10-15% complex 20-25% complex
Aantal gebruikers 100 gebruikers 1000 gebruikers >1000 concurrent
10-20 concurrent 100-200 concurrent gebruikers
Beschikbaarheid Kantooruren 1 uur per nacht down 24/7 up

cPSD|1580045

5.3. Hardware en software


Bij de Fast-Track architecturen wordt ervan uitgegaan dat alle componenten
vergelijkbare specificaties moeten opleveren voor wat betreft de hoeveelheid gegevens die
per seconde verwerkt kunnen worden. Elke component kan de bottleneck zijn en de traagste
zal dat zijn.

5.3.1. CPU-capaciteit
De maximum Consumpion Rate is de maximale hoeveelheid data die het DBMS per
seconde per processor core kan verwerken. Je kan deze meten door een query uit te voeren
en te kijken hoeveel data de query ophaalt en wat de query-responstijd was.

5.3.2. Overige hardwarespecificaties


Naast de CPU moet je nadenken over:
• geheugen: De actieve dataset zijn de gegevens die regelmatig geraadpleegd
worden en zich daarmee bij voorkeur in het geheugen van de server moeten bevinden.
• netwerkbandbreedte: netwerkverkeer moet goed genoeg zijn om de
desbetreffende resultaten over het netwerk te kunnen versturen.
• opslagcapaciteit: Naast de hoeveelheid opslagcapaciteit is ook het soort
opslagmedium belangrijk.

5.3.3. Appliances
Een datawarehouse appliance is een geïntegreerde set van servers, opslagmedia,
operating system, DBMS en andere software speciaal geïnstalleerd en geoptimaliseerd voor
datawarehousing. Referenced architecturen zijn vooraf gedefinieerde specificaties van
hardware opgesteld met ervaring van vergelijkbare datawarehouseprojecten uit het
verleden.
5.4. Performance features
• 5.4.1. Indexen Er zit een nadeel aan het gebruiken van indexen:

• database wordt groter: meeste situaties zijn echter ondergeschikt aan de query.
• schrijfperformance wordt slechter: voornamelijk wordt er van deze database
gelezen, en is het schrijven ook niet zo belangrijk.
• 5.4.2. columnstore Een gemiddelde datawarehouse query gebruikt 10 tot 15% van de
beschikbare kolommen uit een tabel. Een columnstore index slaat gegevens kolom voor
kolom op in plaats van rij voor rij.

• 5.4.3. Compressie
Bij compressie wordt de hoeveelheid benodigde opslag kleiner zonder dat er informatie
verloren gaat. Maar de gegevens moeten wel gedecomprimeerd worden als ze worden
ingelezen en gecomprimeerd als ze worden weggeschreven. De processorbelasting van
het serveersysteem gaat dus omhoog.

oARcPSD|15 80045

• 5.4.4. Aggregatietabellen Group By query’s vergen veel rekentijd van de server. Een
view is een virtuele tabel. Omdat de performance van Group By query’s verbeterd kan
worden met aggregatietabellen, moet bij de bepaling van de grain van een feitentabel
gekozen worden voor een laag aggregatieniveau.

• 5.4.5.
Partitionering
Partitionering gaat uit van het idee dat kleine tabellen beter zijn voor de performance dan
grote tabellen. Een grote tabel is op te slaan als een verzameling kleine tabellen. dat kan
op twee manieren:
• Verticale partitionering: Bij verticale partitionering worden kolommen
verdeeld over twee tabellen.
• Horizontale partitionering: Bij horizontale partitionering worden de records
verdeeld over twee of meer tabellen.
Hoofdstuk 6
6.1. Inleiding
ETL staat voor Extract, Transform en Load. De extract staat voor het lezen van gegevens uit
operationele systemen en andere mogelijke bronnen. De load staat voor het vullen van het
datawarehouse met gegevens. De transfer in het midden moet de ingelezen gegevens zo
manipuleren dat de organisatie uiteindelijk bereid is de informatie die uit het datawarehouse
komt, te accepteren als de waarheid. ETL is een groep technologieen die veelal gebruikt worden
bij de koppeling tussen systemen, waarbij er gestreefd wordt naar een minimale technische en
semantische koppeling. Het is een batchproces dat regelmatig gebruikt wordt.

6.2. Master Data Management


Om te zorgen voor eenduidige rapporten brengen we alle gegevens onder in een
centraal datawarehouse. Zolang alle rapporten dit datawarehouse gebruiken als bron, is er
eenduidigheid over alle rapportages. Er blijven echter 2 problemen over:
• Operationele processen hebben nog steeds last van de niet-eenduidige gegevens
• ETL moet kiezen welke waarheid in het datawarehouse wordt opgenomen.
Op operationeel niveau kunnen er veel dingen fout gaan als verschillenden processen
en/of afdelingen werken met hun eigen gegevens. Voor het ETL proces zijn er 2 problemen:
• verschillende systemen geven tegenstrijdige informatie
• verschillende systemen hebben een andere waarheid in zicht
Master Data Management is een poging om deze problemen aan te pakken.

6.2.1. Verschillende soorten gegevens.


Verschillende soorten gegevens spelen een andere rol en moeten daarmee anders
beheerd worden. Deze gegevens zijn:
• meta data: zijn gegevens over gegevens
• reference data: zijn gegevens in lookup tabellen. Brengt externe informatie in de
database.
• Enterprice structure data: Zijn gegevens zoals grootboekrekeningen of
journaalposten. Alle financiële handelingen zijn door middel van een hele hiërarchie
onderverdeeld
• Transaction structure data: zijn de degens die nodig zijn om primaire gegevens
over processen te kunnen opslaan.
Zijn de dimensietabellen in
registratie van feitelijke
een datamart.
• transaction activity data
• transaction audit data
lOMoARcPS D|1580045

6.2.2. Definities
Master data omvat de categorieën reference data, enterprise structure data en
transaction structure data. Een bedrijf wilt van een bepaald proces 1 centrale datawarehouse
hebben. Dit kan 2 nadelige gevolgen hebben:
• Gegevens komen niet overeen
• Definities zijn niet eenduidig
Master Data komt sterk overeen met dimensies in een datawarehouse.

Master Data Management is een verzameling disciplines en processen die zorgen voor
accurate, complete, tijdige en consistente gegevens voor de belangrijke entiteiten binnen een
organisatie over verschillende databases, afdelingen en landen heen. Het is een continu
proces om een centrale en correcte kopie te krijgen en te houden van de Master Data.
Bovendien blijkt uit de definitie dat MDM niet los gezien kan worden van datakwaliteit.

6.2.3. Implementatie
Bij het vullen van het datawarehouse moet gekozen worden welk systeem leidend is.
De centrale master data is altijd lijdend als er tijden synchronisatie verschillen optreden. Data
Governance staat voor het beleid dat een organisatie voert ten aanzien van gegevens en
informatie. Compliancy is het voldoen aan regels en eisen opgelegd door externe partijen
zoals overheden en toezichthouders. Voor een goede introductie van MDM moet het
volgende aanwezig zijn:
• projectleider die politieke gevoeligheden ziet en begrijpt
• sponsorship van het management
• geode Business Case met een heldere doelstelling
MDM kan op drie punten voordeel opleveren:
• operationeeel niveau minder fouten
• BI niveau eenduidiger analyses maken
• complianceregels zijn makkelijker te voldoen
• duidelijke scope van het project Zoek projecten die gemakkelijk zijn en veel
toegevoegde waarde hebben. Soms kan ook een gedeeltelijke MDM implementatie
voorkomen.
• inzicht in het business model Data stewards zijn mensen met inhoudelijke kennis van
zaken die verantwoordelijk zijn voor de gegevens.
6.3. Implementeren van het ETL-proces
Ook voor het ETL-proces geld, net als voor alle andere onderdelen van BI, dat de
informatieanalyse leidend moet zijn bij het nemen van ontwerpbeslissingen. Welke gegevens,
architectuur en frequentie van het ETL proces, met daarnaast ook beslissingen over de
technische implementatie.

6.3.1. Resultaten van de informatieanalyse


PSD|1580045

Belangrijke aspecten die uit de informatieanalyse gehaald worden zijn:


• Welke kolommen
• Data latency: de latency van een dwh is de tijd die zit tussen het ontstaan van
gegevens en het moment dat deze gegevens beschikbaar komen in het dwh.
• Historische gegevens: hoe ga je met veranderende gegevens om
• oude gegevens: hoelang wil je gegevens bewaren
• Auditing: is het toevoegen van meta data aan de gegevens in het dwh zodat is te
herleiden wie of welk proces de gegevens wanneer en hoe heeft geladen.
• fouten: hoe om te gaan met fouten
• monitoring: informatie over het proces

6.3.2. Architectuur
Er zijn een aantal zaken die een rol spelen bij de architectuur:
• hoeveelheid gegevens
• aantal en soort bronnen
• beschikbare tijd van de bronnen
Uit deze zaken valt een architectuur te vormen. De 3 verschillende types zijn:
• zonder staging laag: gebruikt bij kleine hoeveelheden gegevens
• met staging: meer flexibiliteit, herstarten van ETL is gemakkelijk, omgang met
verschillende databases wordt gemakkelijker, in staging kunnen bewerkingen worden
uitgevoerd.
• met twee staging lagen: transformaties kunnen gedaan worden voordat deze in de
dwh komen.

6.3.3. Documenteren
voor documenteren van ETL processen worden high level mapping diagrammen
gebruikt, om de brontabellen helder te krijgen en de ETL te documenteren.

6.4. Datakwaliteit
6.4.1. slechte gegevens
meer redenen dat de kwaliteit van de gegevens niet is wat het zou moeten zijn, zo kan
er sprake zijn van meer verschillende bronnen, de situaties veranderen en gegevens worden
foutief ingevoerd.
6.4.2. Data Cleansing
Data cleansing is he opsporen en verbeteren of verwijderen van inconsistente en
foutieve records uit een verzameling, tabel of database. Als je gegevens overhaalt naar een
MDM implementatie of naar datamarts met de kwaliteit goed zijn.
lOMoARcPS D|1580045

Hoofdstuk 7
7.1. Inleiding
Er zijn 3 eisen die worden gesteld aan gespecialiseerde OLAP databases:
• 7.1.1. Conceptueel en intuitief gegevensmodel
Een stermodel heeft een aantal tekortkomingen om het als OLAP bron te gebruiken:
• technisch gegevensmodel met technische kolommen
• irrelevante technische kolommen: Allemaal voor de analysedoeleinde
overbodige technische kolommen zijn aanwezig.
• auditing gerelateerde kolommen:
• kolomnamen sluiten niet aan: Headers op rapporten moeten duidelijk zijn,
moeten in de taal van het bedrijf geschreven zijn en moeten eenduidig zijn over
alle rapporten heen.
• tabelstructuur levert problemen op voor query generators: semantisch
model wordt vastgelegd hoe verschillende entiteiten uit de organisatie verband
met elkaar hebben.
• nuttige berekende kolommen ontbreken: Een semantisch model vertaalt
een technische database-implementatie in een voor eindgebruikers leesbaar en
begrijpelijk model dat bruikbaar is zonder over technische kennis te beschikken.
• 7.1.2. goede performance hebben Bij het gebruik van datamarts komt de
performance op twee vlakken in het geding.
• tijd om query te schrijven
• query performance: Een OLAP database moeten een betere performance
bieden door de gegevens zelf in een ander formaat op te slaan. Met een OLAP
database of een in-memory database kunnen performance problemen die bij
datamarts een rol spelen voorkomen worden.
• 7.1.3. gemakkelijk voor analysedoeleinden nuttige berekeningen kunnen uitvoeren
Goede OLAP databases hebben krachtige scripttalen om berekeningen te doen.

7.2. OLAP Cube


Willekeurig, telkens met een ander perspectief, door de gegevens browsen. Free from
analyses kunnen uitvoeren zonder vast te zitten in vooraf vastgestelde vragen.

7.2.1. Wat is een kubus?


Het is een analysedatabase die vanuit meerdere perspectieven naar de gegevens kijkt.
Members in een kubus worden gevormd door de inhoud van een kolom in een datawarehouse.

7.2.2. Waarom kubussen?


De programmeer taal om query’s te maken voor OLAP kubussen is MDX ofwel Multi
Dimensional eXpressions.
7.2.3. Aggregaties
Er is een aantal redenen waarom kubussen veelal een betere performance bieden dan
relationele databases. Dat zijn onder andere:
• andere opslagstructuur
• betere compressie
• andere query engine
• pre-aggregates
Aggregaties worden vooraf berekend zoadat alleen de gevraagde getallen hoeven
worden ingelezen als er een query wordt uitgevoerd. Een natuurlijke hiërarchie is een drill-
down pad waarvoor geld dat er een veel-op-een relatie bestaat van het hogere niveau naar
lagere niveaus. Automatisch zullen bij het verwerken van query’s vooraf berekende
aggregaties gebruikt worden waar dat mogelijk is. Bij MDX blijft de query precies hetzelfde.
De kennis zit nu in de query enigen.

7.2.4. Model of database?


Het model is een abstractielaag voor al die technische zaken. MOLAP staat voor multi
dimensional OLAP en wordt vaak gezien als hetzelfde als OLAP. Alle gegevens in de kubus
zelf zijn opgeslagen. Het levert een goede performance. ROLAP staat voor relational OLAP. De
gegevens zitten in een onderliggende relationele database. Slechtere performance dan
MOLAP. HOLAP staat voor Hybrid OLAP, een mengvorm van MOLAP en ROLAP. Vooraf
berekende aggravaties worden opgeslagen in de kubus (MOLAP) maar de detailgegevens
blijven achter in de datamart. DOLAP staat voor Desktop OLAP en probeert OLAP offline te
doen.

7.4. Datamining
Gestelde vragen zijn zelf niet duidelijk. De data-analist moet met de gegevens kunnen
spelen. Dat is wat kubussen en in-memory modellen brengen. Vaak analyses van top-down.

7.4.1. Wat is datamining?: Datamining is het gericht zoeken naar verbanden in


gegevensverzamelingen met als doel profielen op te stellen voor wetenschappelijk of
commercieel gebruik. Heel grote hoeveelheden gegevens worden door de computer
geanalyseerd. Met datamining kun je verbanden aantonen en voorspellingen doen.

7.4.2. soorten datamining


er zijn 2 categorieën datamining:
• Beschrijvende datamining: opsporen van verbanden en patronen in gegevens. Het
dataming-algoritme spoort een verband op tussen 2 grootheden, de mensen bepaalt de
relevantie van het gevonden verband.
• voorspellende datamining: Voorspellen wat uitkomsten zijn.
Verschillende algoritmes zijn aanwezig, de bekendste zijn beslissingsbomen en neurale
netwerken.
7.5. Analytics
Analytics is het ontdekken en communiceren van betekenisvolle patronen in gegevens
verzamelingen. Het is een werkwijze die een onderdeel moet zijn van de bedrijfscultuur.
Analyse is slechts een deel van deze werkwijze Analytics bestaat uit:
• analyseren van gegevens
• communiceren van informatie
Business Analytics zijn vaardigheden, technologieën, applicaties en werkwijzen voor
constant en iteratief onderzoek naar de prestatie uit het verleden van de organisatie om
inzicht te creëren en te plannen.
BI = gekwalificeerd inzichtelijk maken van wat was
BA = gaat verder en kijkt in de toekomst
Hoofdstuk 8
Een projectperspectief moet een incrementele aanpak meestal de voorkeur verdient.
Dat houdt in dat je een stukje datawarehouse ontwikkelt en vult en daar dan een front end
bij bouwt. Daarna breid je het datawarehouse uit, waarna er weer nieuwe rapportages
gemaakt kunnen worden. Het front end is voornamelijk noodzakelijk voor de acceptatie.

8.2. Wie maak, en gebruikt rapporten?


8.2.1. Farmers
mensen met een vaste terugkerende informatiebehoefte. Dit kan om externe mensen
gaan. 8.2.2. Tourists
Willen iets meer de gebaande paden verlaten. Ze zoeken iets vaker hun eigen weg. Dat
leidt tot vragen die vooral voor henzelf of slechts voor een kleinere groep collega’s interessant
zijn. Ze kunnen een professionele ad hoc vragen om deze zaken te laten onderzoeken. Naast
de ad hoc reportages hebben tourists behoefte aan meer gedetailleerde informatie dan de
standaardrapportages leveren. Ze maken ook gebruik van interactieve rapportages op het
gebeid van drill-down(detail) en drill-through(hyperlinks).
8.2.3. Explorers
Het zij mensen die nieuwe wegen moeten en willen zoeken.
8.2.4. Miners
Miners zijn mensen die datamining inzetten om gegevens te analyseren. Zij hebben
aparte tools nodig om dat te doen.

8.3. Rapporten, scorecards en dashboards


8.3.1. KPI
Een KPI is een managementinstrument dat in een oogopslag de status van een proces
laat zien. Een mission statement is het algemene doel dat een organisatie zichzelf als geheel
stelt. De strategie van een organisatie is de wijze waarop de organisatie het doel wilt bereiken.
KPI bestaat uit 4 componenten, dit zijn meetwaarde(feit), doel, status en trend.
8.3.2. Scorecard
Is een lijst van KPI’s. ARcPSD|1580 045

De balanced scorecard is een methode om bedrijven aan te sturen.


Een strategy map is ingedeeld in dezelfde perspectieven als bij de balanced scorebord.
Het beoogt het verband tussen de strategie en de concreet gestelde doelstellingen duidelijk
te maken.
8.3.3. Dashboard
Een dashboard is een gemakkelijk te lezen, real-time, grafisch overzicht van de status
en de historische trends van de KPI’s van een organisatie om onmiddellijk gefundeerde
besluiten te nemen. Ze zijn vaak interactief, bevatten meer bronnen en hebben meer
verschillende beschikbare tooling.

8.3.4. Rapporten
Een rapport is een verzameling gegevens die zodanig zijn opgemaakt en weergegeven
dat ze voor de gebruikers bruikbare informatie opleveren.

8.3.5. Security
Hierbij gaat het er om dat je je rapporten moet beveiligen. Je vraagt je dan af wie welk
rapport mag lezen, en wie welke inhoud mag lezen.

Verspreiden niet toegestaan | Gedownload door Lloyd Cameron (clearit@hotmail.com)

You might also like