BUSINESS SOORT DOCUMENT INTELLIGENCE INTRO EIBI-IA0005 Samenvatting David Chen Periode 2.2 Auteur De volgende persoon heeft aan dit document gewerkt: Naam Opleiding Locatie Klas Studentnummer E-mail David Chen : : : : : : David Chen Business IT & Management Breda 23BIMVT2B4 2124595 dchen3@avans.nl 1 Inhoudsopgave AUTEUR ....................................................................................................................................... 1 HOOFDSTUK 1 INLEIDING ............................................................................................................. 5 1.1 WAT IS BUSINESS INTELLIGENCE? ................................................................................................... 5 1.1.2 VAN WIE IS BUSINESS INTELLIGENCE? ..................................................................................................... 5 1.1.4 SELF-SERVICE BUSINESS INTELLIGENCE ........................................................................................... 5 1.2 ANDERE TERMINOLOGIE EN DEFINITIES ............................................................................................. 6 1.2.1 DATAWAREHOUSE .............................................................................................................................. 6 1.2.2 EXTRACT, TRANSFORM, LOAD ............................................................................................................... 6 1.2.3 STAGING, ODS................................................................................................................................... 6 1.2.4 KUBUSSEN, MODELLEN ........................................................................................................................ 6 1.2.5 DATAMINING EN MACHINE LEARNING..................................................................................................... 6 1.2.6 BIG DATA .......................................................................................................................................... 7 HOOFDSTUK 2 BUSINESS INTELLIGENCE IN DE ORGANISATIE ......................................................... 8 2.1 BUSINESS INTELLIGENCE ALS COMPETENTIE ....................................................................................... 8 2.1.1 BUSINESS INTELLIGENCE VOLWASSENHEID............................................................................................... 8 2.1.2 DE BUSINESS INTELLIGENCE LIFE CYCLE .................................................................................................. 8 2.1.3 BUSINESS INTELLIGENCE: DOELEN EN AMBITIES ........................................................................................ 9 2.1.4 BUSINESS INTELLIGENCE-IMPLEMENTATIE ............................................................................................... 9 2.1.5 BUSINESS INTELLIGENCE SCOPE ............................................................................................................. 9 2.1.5 BUSINESS INTELLIGENCE DOELEN ......................................................................................................... 10 2.1.6 INFORMATIEBEHOEFTEN .................................................................................................................... 10 2.2 BUSINESS INTELLIGENCE-PROJECTEN .............................................................................................. 11 2.2.1 GEEN GEWOON IT-PROJECT ................................................................................................................ 11 2.2.2 INFORMATIEANALYSE ........................................................................................................................ 11 HOOFDSTUK 3 WAAROM EEN DATAWAREHOUSE? ..................................................................... 12 3.1 HET DATAWAREHOUSE ............................................................................................................... 12 3.1.1 WAAROM EEN DATAWAREHOUSE ........................................................................................................ 12 3.2 PERFORMANCE VAN RAPPORTEN (1) ............................................................................................. 12 3.2.1 NORMALISEREN ................................................................................................................................ 12 3.2.2 INDEXEN.......................................................................................................................................... 13 3.3 SCHRIJVEN VAN QUERY’S (2) ....................................................................................................... 13 3.3.1 WIE MAAKT DE RAPPORTEN? .............................................................................................................. 13 3.4 RAPPORTAGE-IMPACT OP HET PRIMAIRE PROCES (3) ......................................................................... 13 3.5 KWALITEITSPROBLEMEN (4,5) ..................................................................................................... 13 3.6 OPERATIONELE SYSTEMEN........................................................................................................... 14 HOOFDSTUK 4 HET DATAWAREHOUSE ....................................................................................... 15 4.1 DIMENSIONEEL MODELLEREN ....................................................................................................... 15 4.1.1 INLEIDING ........................................................................................................................................ 15 David Chen 2 4.1.2 MODELLEREN ................................................................................................................................... 15 4.1.3 DIMENSIES ...................................................................................................................................... 15 4.1.4 SLOWLY CHANGING DIMENSIONS (SCD) .............................................................................................. 16 4.1.5 CONFORMED DIMENSIONS EN SNOWFLAKES .......................................................................................... 16 4.1.6 OVERIGE DIMENSIE-OVERWEGINGEN.................................................................................................... 16 4.1.7 FEITEN ............................................................................................................................................ 17 4.2 BILL IMMON ............................................................................................................................ 17 4.2.1 KRITIEK OP KIMBALL .......................................................................................................................... 17 4.3 DATA VAULT ........................................................................................................................... 17 4.3.1 DEFINITIE ............................................................................................................................. 17 4.3.2 HUBS, LINKS EN SATTELITES ................................................................................................................ 17 4.3.3 VOORDELEN DATA VAULT .................................................................................................................. 17 HOOFDSTUK 5 HET FYSIEKE DATAWAREHOUSE ........................................................................... 18 5.2 TECHNISCHE ONTWERP ............................................................................................................... 18 5.2.1 AANTAL RECORDS ............................................................................................................................. 18 5.2.2 GEMIDDELDE RECORDLENGTE ............................................................................................................. 18 5.2.3 PAGE SIZE ........................................................................................................................................ 18 5.2.4 GROOTTE VAN DE DATABASE .............................................................................................................. 18 5.2.5 OVERIGE FACTOREN .......................................................................................................................... 19 5.3 HARDWARE EN SOFTWARE .......................................................................................................... 19 5.3.1 CPU-CAPACITEIT .............................................................................................................................. 19 5.3.3 APPLIANCES ..................................................................................................................................... 19 HOOFDSTUK 6 ETL...................................................................................................................... 20 6.1 INLEIDING ............................................................................................................................... 20 6.2 MASTER DATA MANAGEMENT..................................................................................................... 20 6.2.1 VERSCHILLENDE SOORTEN GEGEVENS ................................................................................................... 20 DEFINITIES.................................................................................................................................... 20 6.3 IMPLEMENTEREN VAN HET ETL-PROCES.......................................................................................... 21 6.3.1 RESULTATEN VAN INFORMATIEANALYSE ................................................................................................ 21 6.3.2 ARCHITECTUUR ................................................................................................................................ 21 6.3.3 DOCUMENTEREN ............................................................................................................................. 21 6.4.2 DATA CLEANSING ................................................................................................................... 21 HOOFDSTUK 7 BIG DATA EN ADVANCED ANALYTICS ................................................................... 22 7.2 DEFINITIE VAN BIG DATA ............................................................................................................ 22 7.3 ADVANCED ANALYTICS ............................................................................................................... 22 7.3.1 INLEIDING DATA ANALYTICS................................................................................................................ 22 7.4 MACHINE LEARNING EN DATAMINING ............................................................................................ 22 7.4.2 MACHINE LEARNING-SCENARIO’S ........................................................................................................ 23 7.5 BIG DATA TOOLS – DATA LAKE – NOSQL ....................................................................................... 23 HOOFDSTUK 8 SEMANTISCHE MODELLEN ................................................................................... 24 8.1 INLEIDING ............................................................................................................................... 24 David Chen 3 8.1.1 SEMANTISCH MODEL ......................................................................................................................... 24 8.1.2 PERFORMANCE ................................................................................................................................. 24 8.1.3 QUERY-PERFORMANCE EN BIG DATA ................................................................................................... 24 8.2 OLAP-KUBUS .......................................................................................................................... 24 8.2.2 WAAROM KUBUSSEN? ....................................................................................................................... 24 HOOFDSTUK 9 HET FRONT-END .................................................................................................. 25 9.1 INLEIDING ............................................................................................................................... 25 David Chen 4 Hoofdstuk 1 Inleiding 1.1 Wat is Business Intelligence? Business Intelligence Definitie 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. Doel • • Op het juiste moment op basis van de juiste informatie beslissingen nemen. Business Intelligence heeft als doel competitief voordeel te creëren en organisaties slimmer te kunnen laten werken. 1.1.2 Van wie is Business Intelligence? • Business Intelligence draait om mensen en de beslissingen die zij nemen. • Business Intelligence is van de hele organisatie, niet alleen van de ICT. • Business Intelligence is voor iedereen. Het is zowel interessant voor grote als kleine bedrijven. Het is in elke branche interessant. Binnen een bedrijf moet het meerwaarde bieden aan alle soorten functies, van hoog tot laag. Waarom zou je iets met Business Intelligence doen? 1.1.4 Self-service Business Intelligence Selfservice Business Intelligence definitie Selfservice Business Intelligence betekent dat eindgebruikers hun eigen rapporten en analyses ontwerpen en in gebruik nemen, gebruikmakend van goedkeurende tools en een ondersteunende BI-architectuur. Doel Selfservice Business Intelligence 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. Er zijn 2 zaken die een Business Intelligence -project zal moeten overwinnen: 1. Is de Business Intelligence -oplossing die gebouwd wordt wel wat de gebruikers nodig hebben? a. Om deze vraag te beantwoorden moet je een goede informatieanalyse doen. 2. Komt de oplossing wel optijd? a. Om deze vraag te beantwoorden moet je voornamelijk snel nieuwe functionaliteit kunnen ontwikkelen. Selfservice BI, waar de gebruikers zelf maken wat ze nodig hebben, kan hierbij helpen. Informatieanalyse definitie Informatieanalyse is het achterhalen wat de behoeftes, wensen en eisen van de beoogde eindgebruikers van een systeem zijn. Dit kan je doen d.m.v. bijvoorbeeld interviews. Open vragen zijn dan de meest logische vragen die gesteld worden. Denk maar aan: wat heb je nodig? Welke informatie gebruik je wanneer, hoe en waarom? Bij gesloten vragen moet je denken aan Heb je een omzetrapportage nodig? David Chen 5 1.2 Andere terminologie en definities 1.2.1 Datawarehouse Datawarehouse definitie Een datawarehouse is een centrale database gevuld met gegevens uit een of meer aparte bronnen met als doel het maken van rapportages en het uitvoeren van data-analyses. 1.2.2 Extract, Transform, Load ETL-proces definitie Het ETL-proces zorgt voor de juiste vulling van het datawarehouse en daarmee voor de kwaliteit van de rapportages die je maakt en de analyses die je doet. Het inlezen van de gegevens in de datawarehouse door gegevens uit deze bronsystemen te halen heet het ETL-proces. • • • Extract : Transform: Load : haal gegevens uit bronsystemen pas de gegevens aan, aan de eisen die het datawarehouse stelt aan de gegevens laad de gegevens in het datawarehouse 1.2.3 Staging, ODS Staging definitie Een staging database is een database waarin gegevens tijdelijk worden opgeslagen tijdens het ETL-proces alvorens ze worden overgehaald naar het datawarehouse. ODS-definitie Een ODS is de eerste plek waar gegevens landen nadat ze uit het bronsysteem zijn gehaald. Het kan dienen als tussenstop voor gegevens die naar het datawarehouse gaan. In die zin is het een staging database. 1.2.4 Kubussen, modellen Semantische model definitie Een semantisch model is een abstractie laag die betekenis en verbanden toevoegt aan de gegevens in een database. Een semantisch model kan de volgende problemen oplossen: 1. Performanceproblemen 2. Veel rapportages en analysehulpmiddelen hebben moeite goede query’s te genereren op database 3. Eindgebruikers willen gemakkelijk en snel op een flexibele, niet vooraf gedefinieerde wijze door de gegevens heen kunnen wandelen. Kubus definitie Een kubus is een meerdimensionele draaitabel. Bij het ontwerpen van de kubus wordt rekening gehouden met de betekenis van de gegevens, worden de onderlinge verbanden beschreven en wordt het jargon van de betreffende organisatie gebruikt. Een kubus is uitermate geschikt om op een hele gemakkelijke en flexibele wijze met gegevens te spelen. 1.2.5 Datamining en machine learning Datamining definitie Datamining is het gericht zoeken naar verbanden in gegevensverzamelingen met als doel profielen op te stellen voor wetenschappelijk of commercieel gebruik. Machine learning definitie Machine learning is een toepassing van artificial intelligence waarmee systemen automatisch leren op basis van ervaring zonder expliciet geprogrammeerd te worden. • Het kunnen weten hoeveel ijs er morgen verkocht zal gaan worden is een voorbeeld hiervan. David Chen 6 1.2.6 Big Data Big data definitie Big data refereert aan datasets waarbij de hoeveelheid aan gegevens, de snelheid waarmee gegevens verwerkt moeten worden en/of de diversiteit van die gegevens een probleem wordt als de gegevens op een klassieke manier worden behandeld. Volume : Velocity : Variety : David Chen de hoeveelheid van gegevens de snelheid waarmee gegevens ontstaan en opgeslagen moeten worden de diversiteit van de gegevens 7 Hoofdstuk 2 Business Intelligence in de organisatie 2.1 Business Intelligence als competentie Business Intelligence wordt als een waardevolle kerncompetentie beschouwd. 2.1.1 Business Intelligence volwassenheid BI-volwassenheidsmodel • Prenatale fase o Er is geen sprake van Business Intelligence • Peuter o Individuen doen aan informatievergaring, geen centrale regie. Een spreadmart is een decentrale gegevensverzameling, voor eigen gebruik gemaakt door een individu, vaak opgebouwd met een spreadsheetprogramma • Kind o Rapportages en analyse op centrale datamart(s). Datamart(s) zijn zelfstandige databasen met elk een specifiek doel • Volwassen o Datamarts worden gevuld vanuit een centraal datawarehouse. Single version of the truth • Ontwikkeld o Business Intelligence is een kerncompetentie geworden Een Business Intelligence Competence Center is een speciaal multidisciplinair team dat zich volledig richt op het uitvoeren van Business Intelligence binnen de organisatie. Spreadmart definitie Een spreadmart is een decentrale gegevensverzameling voor eigen gebruik, gemaakt door een individu, vaak opgebouwd met een spreadsheetprogramma. 2.1.2 De Business Intelligence Life Cycle Business Intelligence bestaat uit vier fases die continu in elkaar overlopen. Deze zijn: 1. Analyseren • Voorbeeld: op basis van alle orders uit het verleden kan een data-analist nagaan welke klanten bij welke verkopers welke cursussen hebben ingekocht. Het analyse gedeelte hier betreft het zoeken naar verbanden. 2. Verkrijgen van inzicht • Ha het grondig analyseren van de gegevens blijkt dat sommige klanten vooral Officecursussen volgen. Hierdoor heb je inzicht in de klanten. 3. Het uitzetten van acties (veranderingen) • Het ontstane inzicht besluit de verkoopmanager anders te gaan werken. Het zet de nodige acties uit. 4. Het meten van de resultaten van de uitgezette acties • Het uiteindelijke doel van de actie is het realiseren van een omzetverbetering. Dat moet gemeten kunnen worden. Hier worden rapportages voor ontwikkeld. Agile Business Intelligence Agile Business Intelligence refereert aan het gebruiken van agile softwareontwikkelingsmethodieken om snel en makkelijk te kunnen inspelen op veranderende behoeften vanuit de organisatie. David Chen 8 2.1.3 Business Intelligence: doelen en ambities BI maturity Matrix • • Een organisatie kan bepalen waar men nu staat. Een organisatie kan bepalen wat de ambities ten aanzien van BI zijn. De hoogste ambitieniveau is een intelligente organisatie worden. De organisatie leert en past zichzelf aan. Innovatie is een belangrijke drijfveer en ambitie. 2.1.4 Business Intelligence-implementatie De eerste stap is het bepalen van het doel. Doelen kunnen worden gesteld op verschillende niveaus. 1. Strategisch Business Intelligence maturity matrix • Hoogste niveau (hoger management). Strategie is de manier waarop een organisatie als geheel denkt haar doelen te gaan behalen. 2. Tactisch Business Intelligence project lifecycle • Op tactisch niveau spreken we van het inrichten van Business Intelligence. Het uitvoeren van de keuzes gemaakt bij strategisch. 3. Operationeel Business Intelligence cyclus • Op operationeel niveau spreken we van het verrichten van Business Intelligence. Hier draait het om het echt uitvoeren van zaken. Mensen moeten daadwerkelijk gegevens verzamelen en analyseren. 2.1.5 Business Intelligence scope Business Intelligence-scope bepalen • Om welk van de onderstaande onderdelen gaat het: o Businessprocessen o Activiteiten o Afdelingen o Regio’s o Producten en diensten o BI-organisatie Denk altijd aan het volgende: wie zijn opdrachtgever, sponsor, stakeholders wat zijn hun belangen? David Chen 9 Scope definitie Scope is het afbakenen wat wel een ook vooral wat niet een onderdeel is van een project • Welke processen zijn er binnen de organisatie? • Wie speelt welke rol binnen die processen? M.a.w. wie zijn de actoren? • Welke entiteiten spelen in rol in deze processen. Gaat het over producten, diensten, facturen of nog andere entiteiten? 2.1.5 Business Intelligence doelen Bepaling van doelen en scope is een iteratief proces. 1. 2. 3. Doelen moeten op alle drie de beschreven niveaus worden gesteld. De gestelde doelen moeten op elkaar aansluiten. Het doel dat op strategisch niveau wordt gesteld, sluit idealiter aan op gestelde bedrijfsdoelen, ofwel op de strategie van de organisatie. Deze doelen moeten zoveel mogelijk SMART geformuleerd worden. 1. Specifiek 2. Meetbaar 3. Acceptabel 4. Realistisch 5. Tijdgebonden 2.1.6 Informatiebehoeften Informatiebehoefte definitie Een informatiebehoefte is de informatie die een werknemer in een bepaalde functie nodig heeft om zijn functie naar behoren uit te voeren. Dit kunnen rapporten zijn, schermen in applicaties, Wikipedia, etc. Verschillende doelgroepen • Farmers o Mensen met vaste, terugkerende informatiebehoeften • Tourists o Mensen die naast vaste informatiebehoeften ook behoefte hebben aan ad-hoc informatie • Explorers o Mensen die gaan analyseren (niet alleen het ‘wat’ weten -de droge cijfers- maar ook het hoe en waarom -de cijfers achter de cijfers-) • Miners o Mensen die aan de slag gaan met grote hoeveelheden gegevens om te proberen patronen in de gegevens te herkennen Informatiebehoeften Welke informatie heb ik nu en wat heb ik nog nodig? • Een informatiebehoefte is de informatie die een werknemer in een bepaalde functie nodig heeft om zijn/haar functie naar behoren uit te voeren. o Bijvoorbeeld rapporten, schermen in applicaties, wiki’s, etc. • Belangrijke vragen: o Wat/wie is de doelgroep? o Wat zijn de specifieke getallen (de indicatoren ofwel meetwaarden) die het proces meetbaar maken? o Wat is de context waarbinnen de meetwaarden bekeken worden? David Chen 10 KPI definitie Een KIP is een managementinstrument dat in één oogopslag de status van een proces laat zien. Context geeft betekenis aan de meetwaarden (KPI’s). Een KPI bestaat uit vier componenten: 1. Een meetwaarde 2. Een doelstelling 3. De status (in hoeverre voldoet de gemeten waarde aan de doel) 4. Een trend (is de status beter of slechter geworden t.o.v. de vorige periode?) 2.2 Business Intelligence-projecten Business Intelligence is veel meer dan een project. Het moet onderdeel worden van de organisatie. 2.2.1 Geen gewoon IT-project De IT-componenten van een Business Intelligence-project, zoals het datawarehouse, zijn slechts een middel om het grotere Business Intelligence doel te realiseren. De beoogde eindgebruikers van Business Intelligence-oplossingen moeten vanaf het begin betrokken worden bij elk Business Intelligence-project. Vroege betrokkenheid van de gebruikers is tevens ook de beste manier om ze de gebouwde oplossing te laten vertrouwen. Data steward definitie Een data steward is eindverantwoordelijk voor de kwaliteit van de informatie. Business Intelligence is een continu proces en niet een eindig project. Een risico van een te ICT-gerichte projectaanpak is dat er een oneindig groot datawarehouse gebouwd wordt. 2.2.2 Informatieanalyse Informatieanalyse definitie Informatieanalyse is het proces waarin je achterhaalt wat de doelen zijn en wat de benodigde behoeften zijn om die doelen te realiseren. David Chen 11 Hoofdstuk 3 Waarom een datawarehouse? 3.1 Het datawarehouse Datawarehouse definitie Een datawarehouse is een centrale database gevuld met gegevens uit één of meer aparte bronnen met als doel het maken van rapportages en het doen van data-analyses. Een datawarehouse is gewoon een relationele database. Dat wil zeggen dat het een database is waarbij de gegevens zijn opgeslagen in de vorm van tabellen. Het datawarehouse fungeert als ‘single version of the truth’ en bevat altijd de waarheid. 3.1.1 Waarom een datawarehouse Mogelijke problemen die optreden als je rapporten en analyses maakt direct op de bronsystemen zoals ERP en CRM systemen. 1. Performance van query’s laat te wensen over 2. Het schrijven van de juiste query’s is moeilijk en duurt lang 3. Door de rapportage/analyseworkload gaat de performance van de operationele applicaties achteruit 4. De kwaliteit van de gegevens in databases laat te wensen over 5. Verschillende databases bevatten informatie die niet onderling overeenkomt/ 6. Geschiedenis gaat vaak verloren in operationele databases. Deze worden hieronder 1 voor 1 uitgelegd. 3.2 Performance van rapporten (1) OLTP definitie OLTP staat voor Online Transaction Processing, waarbij het gebruik van de database zich kenmerkt door veel kleine acties waarbij een relatief groot aantal van die acties wijzigingen betreft. Een voordeel van OLTP-workload is dat één record nu klein is (weinig bytes) wat het efficiënt maakt een record te wijzigen of een nieuw record toe te voegen. 3.2.1 Normaliseren Normaliseren definitie Normaliseren van een database voorkomt redundantie en vergroot de consistentie van de gegevens. Het schrijven in een database gaat sneller als er minder redundantie in zit. OLAP definitie OLAP staat voor Online Analytical Processing, waarbij het gebruik van de database zich kenmerkt door voornamelijk lezen. Een nadeel voor OLAP-workload is dat er bijna geen rapporten bestaat die wat betreft de benodigde gegevens genoeg hebben aan één tabel. Er zullen joins geschreven moeten worden (gegevens uit meer tabellen moeten worden samengevoegd) en dat kan soms heel lastig zijn. Normaliseren heeft een aantal effecten • Er ontstaan veel verschillende tabellen o Om redundantie te voorkomen. Denk aan postcodes en plaatsen. • De tabellen worden smal (hebben relatief weinig kolommen) o Een tabel bestaat uit relatief weinig kolommen. Er zit niet zo heel veel informatie in een tabel. Met het bouwen van een datawarehouse 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. David Chen 12 3.2.2 Indexen Naast de tabelstructuur zijn er nog andere factoren van invloed op de performance. Een belangrijke daarvan is de gekozen indexstrategie. Er zijn twee hoofdvormen: 1. Clustered index 2. Nonclustered index Over het algemeen geldt: indexen maken het lezen uit een database sneller maar het schrijven in de database langzamer. Clustered index In een database kun je de records in een tabel fysiek gesorteerd opslaan net zoals dat in een telefoonboek het geval is. Nonclustered index Alleen een bepaald soort heeft baat bij index. Een index in een studieboek is te vergelijken met een nonclustered index in een database. Op het moment dat er wijzigingen zijn, dat er geschreven moet worden in de database, maken indexen dat duurt, ofwel trager. Indexen maken een database sneller voor lezen (goed voor OLAP-workload), maar trager voor schrijven (slecht voor OLTP-workload). Je kunt dus niet zomaar indexen gaan maken in operationele databases. 3.3 Schrijven van query’s (2) Vaak gaat er tijd verloren tussen het ontstaan van een informatiebehoefte en het invullen daarvan. “Making better decisions faster”. 3.3.1 Wie maakt de rapporten? Waarom iemand anders vragen als je het zelf ook kan? Als we daadwerkelijk sneller bij de gewenste informatie willen komen, moeten we de mensen die informatie nodig hebben ook in staat stellen bij die informatie te komen. Daar zijn minimaal twee zaken voor nodig: 1. De mensen moeten de juiste tools krijgen 2. De beschikbare gegevens moeten op een begrijpelijke manier worden aangeboden Datamarts bieden informatie aan gebruikers aan in een voor de gebruiker begrijpelijk eenvoudige vorm. 3.4 Rapportage-impact op het primaire proces (3) Ook zijn er nog 2 andere problemen: 3. Gebruik van hardware resources 4. Gelijktijdig gebruik van dezelfde gegevens (concurrency) 3.5 Kwaliteitsproblemen (4,5) 1. De kwaliteit van de gegevens in databases laat te wensen over. • Dubbele gegevens o Dubbele gegevens in operationele systemen leiden tot foutieve resultaten tijdens analyses. • Ontbrekende gegevens o In operationele databases ontbreken soms gegevens die voor analyses van belang zijn. • Foutieve gegevens • Inconsistente gegevens 2. Verschillende databases bevatten informatie die niet onderling overeenkomt 3. Geschiedenis gaat vaak verloren in operationele databases. David Chen 13 3.6 Operationele systemen • Als twee verschillende systemen dezelfde cijfers zouden moeten geven, zal er in de praktijk vaak een verschil tussen beide systemen te zien zijn. • Eenduidigheid van gegevens en definities is van cruciaal belang voor Business Intelligenceoplossingen. David Chen 14 Hoofdstuk 4 Het datawarehouse 4.1 Dimensioneel modelleren 4.1.1 Inleiding Datamart definitie Een datamart is een database waarvan de tabelstructuur een ster vormt en die één proces uit de organisatie beschrijft. Stermodel definitie Een stermodel is voor een vakinhoudelijke deskundige een gemakkelijk te begrijpen, en daarmee te gebruiken, model. Stermodel bestaat uit twee soorten tabellen • De feitentabel o De feitentabel is de tabel waar grootheden die een proces meetbaar maken in worden opgeslagen. KPI’s worden gebaseerd op deze grootheden. • De dimensietabellen o Deze tabellen zijn de tabellen die de context bevatten die betekenis geeft aan de feiten. o Een dimensie kenmerkt zich door de vele beschrijvende elementen die ervoor te vinden zijn. o Dimensietabellen zijn platgeslagen, niet genormaliseerde tabellen die veel redundantie bevatten. De volgende stappen om tot een stermodel te komen: 1. Kies het te modelleren proces 1. Bepaal het te gebruiken detailniveau 2. Bepaal de van toepassing zijnde dimensies 3. Bepaal de relevante feiten 4.1.2 Modelleren Normaliseren definitie Bij normaliseren modelleer je de gegevens en hun verbanden. Bij dimensioneel modelleren modelleer je de bedrijfsprocessen. Dimensioneel modelleren staat dichter bij eindgebruikers. Grain definitie De grain is het detailniveau van de datamart. De grain statement is de uitspraak die vastlegt op welk detailniveau je gegevens in het datawarehouse gaat opslaan. Laag detailniveau 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. 4.1.3 Dimensies To slice and dice definitie Staat voor het maken van willekeurige doorsnedes door de feiten. Attribuut definitie Een attribuut is een kenmerk van een dimensie, ofwel een kolom in de dimensietabel. Datumdimensie uitleg Datumdimensie zorg je ervoor: • Dat er voor elke relevantie periode een gedefinieerde kolom bestaat. Datumdimensie bevat: • De bedrijfsregel die definieert van wanneer tot wanneer een boekjaar loopt; • De bedrijfsregel die definieert in welk weeknummer een dag valt; David Chen 15 • • • Gegevens over alle periodes, ook periodes waarin zich geen feiten hebben voorgedaan; Extra informatie over periodes, bijvoorbeeld of een dag een werkdag is. Voor elke relevante periode een unieke sleutel in de vorm van een getal en een kolom met een leesbare beschrijving (alleen een goede datumdimensie bevat dit). (Probeer het aantal dimensies met stermodel te beperken tot maximaal zeven!) Surrogate key/Datawarehousekey definitie Dit is een automatisch gegenereerd, uniek, betekenisloos nummer dat elke record krijgt toegewezen op het moment dat het in het datawarehouse wordt weggeschreven. Een dimensie bevat bij voorkeur zoveel mogelijk tekstuele informatie met betrekking tot de dimensie. 4.1.4 Slowly Changing Dimensions (SCD) In hoofdstuk 3 is als een van de mogelijke problemen met rapporten op operationele databases het gebrek aan historische gegevens genoemd. Kimball beschrijft dit als Slowly Changing Dimensions (SCD) en komt met enkele pasklare oplossingen. Slowly Changing Dimensions definitie De term SCD refereert aan het feit dat attrivuten van dimenseis in de loop van de tijd kunnen veranderen en draagt standaardoplossingen aan voor hoe hier in het datawarehouse mee om te gaan. 1. 2. 3. SCD type 1: wordt de oude waarde van een attribuut overschreven door de nieuwe, actuele, waarde. De waarde van het attribuut wordt niet historisch bijgehouden. SCD type 2: wordt bij elke verandering van en attribuut een volledig nieuw record aangemaakt. Er bestaan actuele records en afgesloten records. SCD type 3: houd je van een attribuut in twee verschillende kolommen zowel de huidige als de vorige waarde bij. Op die manier kunnen huidige en vorige waarde gemakkelijk worden vergeleken. 4.1.5 Conformed dimensions en snowflakes Snowflake definitie Een snowflake is een stermodel waar een of meer dimenseis niet zijn platgeslagen maar zijn genormaliseerd. Dimensiematrix definitie Een dimensiematrix laat overzichtelijk zien welke dimensies relevant zijn voor welke processen. Conformed dimension definitie Een conformed dimension is een dimensie die dusdanig generiek is opgezet dat hij door elk relevant stermodel, zonder aanpassingen, gebruikt kan worden. Het normaliseren van een dimensie en daarmee maken van een snowflake kan helpen dimensietabellen klein te houden. 4.1.6 Overige dimensie-overwegingen Er valt nog veel meer te zetten over goed dimensieontwerp. Een uitgebreide verhandeling over dimensioneel modelleren vind je in The Data Warehouse Toolkit van Kimball en Ross. Hier zullen we onderstaande veelgebruikte constructies en termen nog eens noemen: 1. 2. 3. Junkdimensies: een junkdimensie is een dimensie die bestaat uit een combinatie van elke niet gerelateerde, zeer kleine, dimensies. Gedegenereerde dimensie: een gedegenereerde dimensie is een dimensie zonder dimensieattributen. Unknown member: unknown is een dummy record in een dimensietabel. Dit record zorgt er voor dat feiten uit de feitentabel die niet gelinkt kunnen worden aan een dimensierecord nu toch gelinkt kunnen worden. David Chen 16 4.1.7 Feiten Er zijn 3 soorten feiten: 1. Additieve feiten: zijn feiten die over alle dimensies zijn op te tellen, zoals omzet. 2. Niet additieve feiten: zijn feiten die niet zijn op te tellen, zoals percentages. 3. Semi-additieve feiten: zijn feiten die over sommige dimensies wel zijn op te tellen maar over andere dimensies niet, zoals voorraad. Soorten feitentabbellen: Accumulating snapshot: is een feitentabel die de huidige status van de feiten weergeeft maar waarbij feiten nog aan verandering onderhevig kunnen zijn. Feiten worden pas aangepast aan een verandering status binnen het totale proces. Deze feitentabel is van wat je vandaag weet, maar dat kan morgen weer veranderen. Periodiek snapshot: is een feitentabel die de stand van de feiten weergeeft op een specifiek moment. Voor een ander moment wordt een ander snapshot gemaakt. 4.2 Bill Immon Bill Immon wordt gezien als de vader van het datawarehouse. Hij en Ralph Kimball zijn de twee pioniers op dit gebied. Ze zitten echter niet op één lijn als het aankomt op hoe een datawarehouse eruit moet zien. 4.2.1 Kritiek op Kimball Bullshit 4.3 Data Vault 4.3.1 Definitie Data Vault definitie Een Data Vault bestaat uit genormaliseerde tabellen die gedetailleerde informatie over een of meer deelgebieden van een organisatie bevatten. Een Data Vault het beste van zowel normaliseren als van sterschema’s bevat. 4.3.2 Hubs, Links en Sattelites Hubs definitie Hubs zijn tabellen die vergelijkbaar zijn met dimensietabellen maar dan zonder alle beschrijvende attributen. Links definitie Links zijn tabellen die vergelijkbaar zijn met feitentabellen. Ze beschrijven de relaties (associaties) die verschillende hubs onderling hebben. Ze bevatten de feiten zelf niet. Sattellites definitie Sattellites zijn de tabellen die de feiten en dimensieattributen bevatten. Ze zijn door middel van foreign keys gekoppeld aan links en hubs. 4.3.3 Voordelen Data Vault 1. Eenvoud van laden 2. Snelheid van laden 3. Betrouwbaarheid van laden 4. Compliance David Chen 17 Hoofdstuk 5 Het fysieke datawarehouse 5.2 Technische ontwerp Functionele ontwerp definitie Het functionele ontwerp van een database is de gewenste tabelstructuur, alleen rekening houdend met de functionele eisen zoals die naar voren komen uit de informatieanalyse. Technisch ontwerp definitie Het technisch ontwerp van een database past het functionele ontwerp zodanig aan dat de database in de praktijk goed functioneert. 5.2.1 Aantal records 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 Naast het aantal te verwachten records is de lengte van de records belangrijk. Om dat te bepalen moet je drie zaken weten: 1. Uit welke kolommen bestaat de tabel? 2. Wat is het datatype van elk kolom? a. Numeriek i. Het datatype kolom bepaalt het soort gegevens dat in deze kolom opgeslagen kan worden, bijvoorbeeld een datum of een getal. ii. Hoe groter het datatype, hoe groter de getallen die je kunt opslaan, maar ook hoe meer opslagcapaciteit en geheugen je nodig hebt. iii. Kies altijd het kleinste datatype dat gegarandeerd groot genoeg is voor wat je met een kolom gaat doen. b. Alfanumeriek c. Datum 3. Wat is de gemiddelde lengte van bijvoorbeeld namen?” 5.2.3 Page size Er zijn twee redenen die je moet weten: 1. Wat gebeurt er als de gemiddelde recordlengte groter is dan een pagina? 2. Wat gebeurt er als het gemiddelde groter is dan een halve pagina? Het is belangrijk in een vroeg stadium de gemiddelde recordlengte en page size 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. 5.2.4 Grootte van de database Met de informatie uit de vorige paragrafen kun je de grootte van het datawarehouse berekenen. Er zijn echter nog een aantal factoren dat effect heeft op de totale omvang van de database. Je moet dan vooral denken aan: 1. Compressie van de gegevens • Je hebt minder opslagcapaciteit nodig • Je hebt een betere performance 2. Indexen • Een index maakt het gemakkelijk om bij de juiste gegevens te komen en dit zorgt voor een betere performance van de query’s. David Chen 18 5.2.5 Overige factoren 1. De te verwachten workload 2. Het aantal gebruikers • Bepalend voor de belasting op je systeem. 3. Beschikbaarheidseisen • Sommige datawarehouses zijn lokaal en worden alleen gebruikt tijdens lokale kantoortijden. 5.3 Hardware en software 5.3.1 CPU-capaciteit Maximum Consumption Rate (MCR) definitie De Maximum Consumption Rate is de maximale hoeveelheid data die het DBMS per seconde per processor core kan verwerken. De actieve dataset zijn de gegevens die regelmatig geraadpleegd worden en zich daarmee bij voorkeur in het geheugen van de server moeten bevinden. 5.3.3 Appliances Datawarehouse appliance definitie 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 Architectures definitie Referenced Architectures zijn vooraf gedefinieerde specificaties van hardware opgesteld met ervaring van vergelijkebare datawarehouseprojecten uit het verleden. David Chen 19 Hoofdstuk 6 ETL 6.1 Inleiding Iedereen kent het cliché “Garbage in, garbage out.”, maar hier willen we het omgekeerde doen: de waarheid maken van de troep die binnenkomt. Dit heet het ETL-proces. ETL-definitie ETL is een groep technologieën die veelal gebruikt wordt 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 6.2.1 Verschillende soorten gegevens Verschillende soorten gegevens in een database: 1. Metadata • Metadata zijn gegevens die de gegevens in een database beschrijven, zoals de naam van een kolom en de datatype van die kolom. 2. Reference data • Reference data zijn gegevens in look-up tabellen. Denk aan een landentabel met ISOlandcodes (telefooncode van het land). 3. Enterprise structure data • Enterprise structure data zijn gegevens zoals grootboekrekeningen of journaalposten. 4. Transaction structure data • Transaction structure data zijn de gegevens die nodig zijn om primaire gegevens over processen te kunnen opslaan. In een verkoopproces valt er niets te verkopen als er geen producten en geen klanten zijn. 5. Transaction activity data en transaction audit data • Deze groep gegevens is de registratie van de feitelijke processen. Het registreren van een opname in een ziekenhuis, het opslaan van een melding in een incidentenapplicatie. Definities Master Data definitie Masterdata is de combinatie van reference data, Enterprise structure data en transaction structure data. Een voorbeeld van Master Data zijn klantgegevens waar in het ideale geval in een organisatie één centrale set wordt bijgehouden die bepalend is voor alle processen. Master Data Management definitie Master Data Management is een verzameling disciplines en processen die zorgt voor accurate, complete, tijdige en consistente gegevens voor de belangrijke entiteiten binnen een organisatie over verschillende databases, afdelingen en landen heen. 3 voordelen van deze management: 1. Op operationele niveau worden er minder fouten gemaakt en kan er efficiënter gewerkt worden, als de gegevens consistenter zijn. 2. Op BI-niveau kunnen eenduidiger analyses gemaakt worden van gegevens uit verschillende systemen. 3. Het is makkelijker te voldoen aan wet en regelgeving als de gegevens centraal staan met duidelijke regels omtrent eigenaarschap en veranderingen. Data governance definitie Data governance staat voor het beleid dat een organisatie voert ten aanzien van gegevens en informatie. Compliancy definitie Compliancy is het voldoen aan wettelijke regels en eisen opgelegd door externe partijen zoals overheden en toezichthouders. David Chen 20 Data stewards definitie Data stewards zijn mensen met inhoudelijke kennis van zaken die verantwoordelijk zijn voor de gegevens. 6.3 Implementeren van het ETL-proces 6.3.1 Resultaten van informatieanalyse Uit de informatieanalyse moet een aantal inhoudelijke zaken duidelijk worden. Daarnaast moet ook een aantal meer technische zaken helder worden. Onderstaand worden de volgende aspecten van ETL die in de informatieanalyse aandacht dienen te krijgen, kort belicht: • Welke kolommen moeten meegenomen worden? o • Data latency o De latency van een datawarehouse is de tijd die zit tussen het ontstaan van gegevens en het moment dat deze gegevens beschikbaar komen in het datawarehouse. • Historische gegevens • Oude gegevens • Auditing o Auditing is het toevoegen van metadata aan de gegevens in het datawarehouse zodat is te herleiden wie of welk proces de gegevens wanneer en hoe geeft geladen. Hierdoor kan je vragen beantwoorden zoals: ▪ Waar komt deze informatie vandaan? ▪ Hoe komen we aan deze getallen? • Fouten o ETL is software en bij software moet je nadenken over hoe je wilt omgaan met foutsituaties. • Monitoring o Beheerders van ETL-processen moeten weten of de processen hebben gedraaid, of ze succesvol of met een fout zijn geëindigd. 6.3.2 Architectuur Uit de informatieanalyse komen allemaal eisen naar voren die van invloed zijn op de opzet van de ETL. Naast deze eisen zijn er nog een aantal factoren die een rol spelen: 1. De hoeveelheid gegevens die per keer overgehaald moeten worden 2. Het aantal en soort bronnen 3. Tijdstip en tijdsduur dat gegevens uit de bronnen ingelezen mogen worden. Deze factoren bepalen welk architectuur het beste is. Grofweg kunnen er drie architecturen worden onderkend. In hoofdlijnen zijn de oplossingen: 1. Zonder staging-laag 2. Met staging 3. Met twee staging-lagen Staging database definitie Een staging database is een database waar gegevens tijdelijk worden opgeslagen alvorens ze worden doorgestuurd naar het datawarehouse. 6.3.3 Documenteren Er zijn twee redenen om mappingdiagrammen te maken: 1. Om helder te krijgen welke brontabellen nodig zijn 2. Om de ETL te documenteren 6.4.2 Data cleansing Data cleansing definitie Data cleansing is het 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, moet de kwaliteit goed zijn. David Chen 21 Hoofdstuk 7 Big Data en Advanced Analytics Beperkingen klassieke datawarehouse • Er worden voornamelijk relationele bronnen ontsloten. • Het is moeilijk realtime datawarehouses te maken. • Datawarehouses zijn niet heel geschikt voor Advanced Analytics. 7.2 Definitie van Big Data Big Data definitie Big Data betekent dat het soort gegevens dat je hebt in combinatie met wat je er mee wilt doen, je dwingt te innoveren. Big Data wordt gedefinieerd door wat vaak 3 V’s wordt genoemd: 1. Volume (hoeveelheid) • Scale up is het inzetten van een grotere server. • Scale out is het verdelen van de workload over een cluster van meerdere servers. 2. Variety (variatie) • Gestructureerde gegevens. Hier is er een schema, een datamodel, bekend. Met het schema wordt de metadata bedoeld. Beschrijving van kolommen, datatypes van de kolommen en het domein van de kolommen. o Schema-on-write: metadata moet al bestaan voordat de gewone gegevens opgeslagen kunnen worden. • Semigestructureerde gegevens. Hier is sprake van enige metadata maar niet meer zo ijzer gegoten als bij gestructureerde gegevens. Gegevens in vorm van XML of JSON. o Schema-on-read: dat we de metadata die gegevens beschrijft pas gebruiken bij het verwerken van de gegevens, niet bij het schrijven van die gegevens. • Ongestructureerde gegevens. Helemaal ongestructureerd is het nooit. Als je een bestandformaat weet, heb je al kennis over het soort informatie. Denk hier aan foto’s. Als je een foto hebt in jpg-formaat dan weet een grafische expert vrij veel over pixels, kleur en andere zaken. De inhoud is nietszeggend tot je het opent. 3. Velocity (snelheid) • Betekent of de snelheid waarmee gegevens ontstaan. • Betekent of de snelheid waarmee we de gegevens moeten verwerken tot bruikbare informatie. • De signal-to-noiseratio is de verhouding tussen informatie en ruis in data. 7.3 Advanced Analytics 7.3.1 Inleiding Data Analytics Data Analytics definitie Data Analytics is het analyseren van gegevensverzameling om besluitvorming te ondersteunen en theorieën te testen. Analytics is een werkwijze die een onderdeel moet zijn van de bedrijfscultuur Confirmatory analyse definitie Confirmatory analyse gebruikt een top-downbenadering om een vooraf gestelde hypothese te bevestigen. Exploratory analyse definitie Exploratory analyse is een bottom- upbenadering waarbij je probeert zonder beïnvloeding vooraf patronen in datasets te vinden. 7.4 Machine learning en datamining Datamining definitie Datamining is het achterhalen van verbanden, patronen en trends in gegevensverzamelingen. David Chen 22 Machine learning definitie Machine learning is een techniek die tot doel heeft het doen van voorspellingen op basis van bekende patronen in gegevensverzamelingen. De nauwkeurigheid waarmee voorspellingen gedaan kunnen worden, neemt toe als de gebruikte dataset groter wordt. 7.4.2 Machine learning-scenario’s De twee technieken die worden toegepast bij machine learning zijn: 1. Supervised learning • Ook wel learning by example genoemd. Min of meer hoe wij onze kinderen leren. Elke keer dat er een auto langs komt rijden zeg je “auto”. 2. Unsupervised learning • Zit heel dicht aan tegen datamining. Er is geen label dat we willen voorspellen, we moeten nog onbekende patronen achterhalen. Toepassingen van machine learning: 1. Classification • Supervised learning techniek waarbij records worden ingedeeld in een van tevoren bekende categorieën. 2. Clustering • Unsupervised learning techniek die gegevens groepeert in clusters van vergelijkbare records. 3. Outlier detection • Sterk verwant aan zowel classification als aan clustering. Kan zowel supervised als unsupervised zijn. Verschil zit hier met name in het aantal rijen (observaties) in een groep. 4. Regression • Gaat uit van een oorzakelijk verband tussen twee variablen, ofwel grootheden. 7.5 Big Data Tools – Data Lake – noSQL Data Lake definitie Data Lake is een omgeving waar je gegevens verzamelt in hun oorspronkelijke format en schema. Meestal gaat het om tekst files en blob files. noSQL definitie noSQL staat voor not only SQL. Cluster definitie Een cluster is een verzameling gekoppelde servers die samenwerken alsof ze één zijn. Hadoop definitie Hadoop is een opensourceraamwerk van software voor Big Data-toepassingen. David Chen 23 Hoofdstuk 8 Semantische modellen 8.1 Inleiding Om goed, gemakkelijk en snel gegevens te kunnen analyseren zijn datamarts in de vorm van een sterschema uiteindelijk niet toereikend. Waarom voldoet een datamart dan toch niet? Laten we kijken naar 3 eisen die worden gesteld aan gespecialiseerde OLAP-database: 1. Een OLAP-database moet een conceptueel en intuïtief gegevensmodel opleveren; 2. Een OLAP-database moet een hele goede performance hebben, ook bij grote datasets; 3. Een OLAP-database moet relatief gemakkelijk voor analysedoeleinden nuttige berekeningen kunnen uitvoeren. 8.1.1 Semantisch model Semantisch model definitie Een semantisch model vertaalt een technische database-implementatie in een voor eindgebruikers leesbaar en begrijpelijk model dat bruikbaar is zonder over veel technische kennis te beschikken. 8.1.2 Performance Bij het gebruik van datamarts komt de performance op twee vlakken in het geding: 1. Ten eerste is er de tijd die het duurt om de juiste query te schrijven; 2. Ten twee is er de tijd die het duurt om de query uit te voeren. Een OLAP-database zou beide zorgen uit de weg moeten nemen. 8.1.3 Query-performance en Big Data Veel Big Data-architecturen verdelen de gebruikte technieken in drie lagen. Dit zijn de: 1. Batch layer • De meeste Big Data-tools werken nog met jobs. Jobs zijn stukken werk die zich goed laten schedulen. 2. Speed layer • Om realtimeanalytics mogelijk te maken, kunnen we naast de batch layer ook een speed layer bouwen. Deze gebruikt vaak streamingtools. Met deze tools kunnen we gegevens in realtime analyseren en de resultaten gebruiken. 3. Serving layer • Dient om de gegevens aan te bieden aan de gebruikers. 8.2 OLAP-kubus Wat is een kubus? Een kubus is een multidimensionele database. Deze naam benadrukt dat het gaat om een analysedatabase waarbij vanuit meerdere perspectieven naar de gegevens gekeken moet kunnen worden. Members in een kubus worden gevormd door de inhoud van een kolom in een datawarehouse. 8.2.2 Waarom kubussen? 1. Draaitabel • Is een handige en veelgebruikte manier om grote hoeveelheden gegevens eenvoudig inzichtelijk te maken. 2. Formules en functies • Die stellen de gebruiker relatief eenvoudig in staat bewerkingen toe te passen op de gegevens. De tegenhanger daarvan is de MDX (Multi-Dimensional eXpressions). MDX definitie de MDX (Multi-Dimensional eXpressions) is de taal die hoort bij OLAP-kubussen. David Chen 24 Hoofdstuk 9 Het front-end 9.1 Inleiding David Chen 25