Datawarehouses: Een Handleiding PDF

Summary

Deze document beschrijft de concepten en basisprincipes van datawarehousing, waaronder verschillende soorten databases zoals OLTP en OLAP, datawarehousesystemen en het ETL-proces. Het gaat in op de verschillende aspecten van data manipulatie en analyse.

Full Transcript

DATAWAREHOUSING DE BEHOEFTE AAN EEN DATAWAREHOUSESYSTEEM Het analyseren van data heeft andere doelstellingen, vereist andere functionaliteiten en heeft andere organisatie dan het verwerken van data met transacties. Op wijze van gebruik kun je databanken indelen in twee groepen: OLTP (On-line Tran...

DATAWAREHOUSING DE BEHOEFTE AAN EEN DATAWAREHOUSESYSTEEM Het analyseren van data heeft andere doelstellingen, vereist andere functionaliteiten en heeft andere organisatie dan het verwerken van data met transacties. Op wijze van gebruik kun je databanken indelen in twee groepen: OLTP (On-line Transaction Processing) en OLAP (On-line Analytical Processing). § OLTP databases zijn bedoeld om operationele databases te ondersteunen. Ze moeten binnen een redelijke termijn een antwoord op een query kunnen geven anders zullen de operationele processen verstoord worden. Performantie is hier zeer belangrijk. Deze databanken zijn slecht om studies op uit te voeren. Enkel de actuele data is hier van belang en historische data wordt vaak niet opgeslagen omdat het geen nut heeft. § OLAP: deze databanken zijn gericht op de ondersteuning van tactische en strategische beslissingen. Ze zijn gemaakt om analyses van veel data te maken en hier patronen in te vinden. De onmiddellijke respons is hier veel minder belangrijk en er draaien geen operationele processen op. Historische data is hier erg belangrijk en daarom wordt zowel actueel en historisch data opgeslagen (er wordt nooit iets weggegooid) è beperkt aantal gebruikers die zeer grote en specifieke en complexe bevragingen uitvoeren die zelden of nooit terugkomen, bevraging is daarom onvoorspelbaar en gebeurt in pieken. Datewarehousesystemen en dataminingsystemen zijn software die gegevensanalyse ondersteunen. BASISCONCEPTEN DATAWAREHOUSES Datawarehouse: een onderwerpgeoriënteerde, geïntegreerde, permanente, met de tijd variërende collectie van (persistente) data ter ondersteuning van beleidsbeslissingen. Het is een opslagplaats waar alle data wordt bewaard en waar deze data geanalyseerd wordt om de onderlinge patronen erin te vinden. 34 Datawarehousesysteem: een computersysteem die instaat voor het beheer van datawarehouses (net zoals een database een DBMS heeft) Datawarehousemanagementsysteem (dwms): is de softwarecomponent van een datawarehousesysteem die instaat voor het beheer van de datawarehouses. Ontwerpgeoriënteerd in tegenstelling tot databases (opbouw rond entiteiten), zijn datawarehouses opgebouwd rond onderwerpen of thema’s vb. inkomsten van personen, studieresultaten, verkoopcijfers,… Om een onderwerp te kunnen analyseren zijn meestal verschillende gegevens nodig. Bepaalde gegevens worden ook gebruikt bij verschillende onderwerpen. Een datawarehouseschema is de logische en structurele weergave van de combinaties van de nodige data(cfr. Databaseschema). Hier worden abstracte beschrijvingen samengebracht om bij analyses de info sneller en gemakkelijker te kunnen bereiken. Geïntegreerd zijn De data zijn afkomstig uit verschillende bronnen met elk hun eigen toegangswijze. Al deze data worden gecombineerd in een datawarehouse. § Stap 1 Extract: data uit bron halen § Stap 2 Transform: controleren, aanpassen en omzetten § Stap 3 Load: inladen à ETL-proces Het ontsluiten van geïntegreerde data is eenvoudiger dan het ontsluiten van data in individuele bronnen. Permanent zijn Geen enkel gegeven gaat verloren. Eens de data zijn ingeladen kunnen ze niet meer worden overschreven door aanpassingen tenzij correcties van fouten. Als een gegeven verandert, wordt een nieuwe waarde toegevoegd (oude blijft bestaan). De oude geven toestand in het verleden weer (timestamp). à datawarehouse blijft dus stabiel, nodig voor analyse. Analyses moeten kunnen reproduceren en dus dezelfde resultaten opleveren. opm: permanent en persistent zijn niet hetzelfde Met de tijd variëren Data wordt geordend in de tijd (timestamp). Doordat het inladen periodiek gebeurt, zijn de recentste data niet altijd actueel. Door de tijdsordening is het mogelijk momentopnames te distilleren. Deze zijn belangrijk voor de evolutie en historie van data te bestuderen en het voorspellen op KT,MLT en LT. Een database beheert enkel de meest actuele gegevens. Enkel door atomaire types date, time, timestamp en interval kan men in beperkte mate historische info bijhouden. Het verschil met een datawarehouse is dat de gebruiker hier zelf verantwoordelijk is voor de interpretatie en verwerking van tijdsdata. 35 HET DATAWAREHOUSING-PROCES Datawarehousing: het opzetten, onderhouden en werken met een datawarehouse Het ‘datawarehousing’-proces Databronnen De data zijn afkomstig uit verschillende heterogene databronnen. (Databases, databestanden bv adresboek, XML-bestanden,..) Elke databron werkt met eigen datastructuren, dataformaten en conventies voor het uitwisselen en gebruiken van data. Ze zijn ook niet allemaal even goed beschreven en van goede kwaliteit à grondig doorlichten voor het inbrengen je gaat de dus databronnen binnen de organisatie met ETL in het databasewarehouse steken Het ETL-proces (extractie, transformatie, inladen) Kan veel tijd in beslag nemen, de meeste datawarehousesystemen bevatten softwarecomponenten die (semi-)automatisch dit proces ondersteunen. § Gegevensextractie Controleren beschikbaarheid Vastleggen databronnen Wanneer cruciale data ontbreken moeten deze alsnog aangeleverd worden (bestaande bronnen uitbreiden of extra bronnen zoeken) § Gegevensaudit foutcontroles en correcties: niet alle gegevens zijn correct of staan in het juiste formaat. à volledige automatisering foutcontrole is moeilijk o Onjuiste definities van concepten: bv wat wordt bedoeld met eindescore? o interpretatiefouten: Bij bepaling gemiddelde score zijn ook afwezige studenten bijgerekend. o Foutieve veldwaarden: foutief ingevuld o Gegevensvervuiling: door gebrekkige datastructuren kunnen gegevens niet worden weggeschreven in de correcte velden. Bv postbus moet bij nummer staan. o Ontbrekende gegevens o Combinatiefouten: de ene fout kan de andere opheffen zodat eenvoudige controlemechanismen de fouten niet ontdekken. 36 Heterogene data integreren en omzetten(transformeren) naar uniforme datatypes en formaten (compatibiliteit). Gegevensintegratie nodig wanner we data uit verschillende bronnen samenvoegt. (moeilijk automatiseerbaar) o Impedance mismatch: ongewenst informatieverlies bij het omzetten van datatypes o Afwijkende betekenissen: bv jaarsalaris exclusief en inclusief vakantiegeld o Afwijkende veldformaten: veldformaat anders gestructureerd. Bv beschrijving locatie a.d.h.v. adres of gps-coördinaten. Gegevenstransformatie kan plaatsvinden bij integratie maar ook los daarvan. Correctheid van data bewaken zodat er geen fouten in sluipen (bv conversie of afrondingsfouten). Een andere vorm van transformatie is aggregatie waarbij detailgegevens worden samengevat om de hoeveelheid data te reduceren (informatieverlies). Bv productcategorieën i.p.v. individuele producten. § Inladen Gebeurt uitgesteld (niet real-time) à bij de recentste Bij de recentste datawarehouse systemen streeft men naar een semi- continu 'online‘ inlaadproces, zodat het datawarehouse bijna even actueel is als de gebruikte databronnen. Via een inlaadscript Incrementeel: veranderingen die sinds de laatste laadoperatie plaatsvonden in de bronnen worden als nieuwe data aan het warehouse toegevoegd. Back-up en herstelfaciliteiten voor het datawarehouse Backflushing Info over gedetecteerde fouten en foutcorrecties teruggeven aan (de verantwoordelijken voor) de databronnen Data en metadata Een verschil met een database is dat de data op verschillende detailniveaus worden opgeslagen. Eerst meest gedetailleerde ingeladen, dan worden aggregaties(samenvattingen) gemaakt die ook worden opgeslagen om de uitvoeringstijden van analyses te verkorten. Bv aan het einde van elke week/ maand word per product en winkel een overzicht opgeslagen met de totaalverkoop en beste verkoopdag. à integriteitsprobleem omdat bij aanpassing de data niet worden overschreven Metadata veel uitgebreider dan in databases: § Technische metadata over datawarehouse § procesmetadata over ETL-proces § metadata over businessregels m.b.t. uit te voeren analyses opm: eigendom en toegankelijkheid Alle data die voorheen enkel zichtbaar waren voor bepaalde afdelingen centraliseert men en maakt men toegankelijk voor analisten. Toegangssoftware Gebruikers: beleidsmakers en analisten Op maat of aangekocht pakket § rapportgeneratoren § statistische pakketten § OLAP-tools § Applicaties voor datamining 37 Moet ondersteuning bieden voor ad-hoc en routinematige analyse: § Routinematig: gepaste voorverwerking, samenvattingen en queryplannen kunnen op voorhand worden gemaakt zodat systeemprestaties worden verbeterd. § Ad hoc: het bieden van aanvaardbare systeemprestaties in een grote uitdaging Analyses kunnen nieuwe data opleveren die kan worden opgeslagen. à terugstroom van toegangssoftware naar de databronnen en gegevensaudit. HET MEERDIMENSIONALE DATAMODEL Men kan een datawarehouse voorstellen als een collectie van meerdimensionale matrices. Elke matrix stelt een onderwerp voor. STRUCTURELE ASPECTEN Feiten en kenmerken van feiten Feit: een (geregistreerde) waarde waarvan men een bepaalde studie wil maken. bv bij onderwerp verkoopcijfers is een feit de omzet, winst, winstmarge. Een feit is altijd een numerieke waarde en hoe meer je kunt rekenen met feiten (zoals bv het gemiddelde nemen) hoe beter. Feiten worden gekarakteriseerd door een aantal (geregistreerde) kenmerken (dimensies) die elk een bepaald aspect van het feit toelichten. Elk kenmerk maakt het mogelijk om een feit te kwalificeren. bv de omzet is gecreëerd op dat tijdstip, in die winkel, door deze verkoper,... Het modelleren van feiten en kenmerken meerdimensionale matrix § Feiten zijn opgenomen in de cellen § Kenmerken vormen de dimensies van de matrix Niet elke cel moet ingevuld worden Sparse matrix: meerderheid van de cellen is niet ingevuld. 38 tweedimensionale matrix Onderwerp: verkoopcijfers Feiten: omzet en winst Kenmerken: product en tijd driedimensionale matrix kenmerken: plaats, tijd, product enkel cellen waar alle 3 de kenmerken kunnen aan toegewezen worden zullen ingevuld zijn dus als er bv in mei 2006 geen snoep verkocht is zullen deze cellen leeg zijn opm: meer dimensies zijn geen enkel probleem maar zijn zeer moeilijk te visualiseren We gaan dingen aggregeren om zo dimensies te verlagen opm aggregeren is niet altijd optellen (vb bij winstpercentage kun je dit niet ) opm winstpercentage is een erg moeilijk feit om te aggregeren à gewogen winstpercentage meerdimensionale matrices n-dimensionale matrix of hyperkubus kunnen enkel gevisualiseerd worden in draaitabellen (pivot tables) in het algemeen kunnen er verschillende soorten matrices worden opgesteld onderwerp: verkoopcijfers kenmerken: product, tijd, koper, plaats 39 Hiërarchische structuur van de kenmerken Granulariteit van het kenmerk: beschouwde detailniveau Als er verschillende detailniveaus zijn, wordt de dimensie hiërarchisch opgebouwd en weergegeven in een boomstructuur. Als men meerdere detailniveaus gebruikt, worden feiten van een algemener niveau geaggregeerd uit de feiten van een meer gedetailleerd niveau. 2 hoofdtechnieken: § Creëren van aparte, kleinere matrices voor de opslag van geaggregeerde feiten § Niveaucodering: Integreren van geaggregeerde feiten in bestaande matrices. Geaggregeerde gegevens krijgen niveaucode. Evolutie van de kenmerken van een feit Traag veranderende kenmerken: waarde van een kenmerk kan veranderen (door wijziging strategie) maar gebeurt niet frequent. Bv verkoper verandert van regio In analyses is het belangrijk om te weten hoe men met deze veranderingen moet omgaan bv vergelijken kleine en grote regio 3 types aanpassingsstrategieën: § Oude waarde van het kenmerk overschrijven: kost minste energie, maar dataverlies! wordt bijna alleen gebruikt om fouten uit het model te halen. Bv verkoper hoorde altijd al tot regio B, geslachtsverandering § Volledige historiek van het kenmerk bijhouden: nieuwe feiten worden geregistreerd met nieuwe waarde met bijkomende timestamp die start en einde aanduiden. (actuele waarde einde= NULL) Bv prestaties worden pas meegerekend na verandering van regio, bij een verhuis zou je dit kunnen doen bij het adres § Enkel originele en huidige waarde bijhouden: timestamp geldig. Alternatief i.p.v. originele waarde de vorige waarde bijhouden. (minder opslagruimte) Bv dataverlies als verkoper meer dan 1 keer veranderd van regio GEDRAGSASPECTEN Operatoren voor het analyseren van meerdimensionale modellen: Pivoteren: men draait de matrix zodat andere dimensies geaccentueerd worden. Roll-up: of uitzoom-operator, gebruikt om minder details te krijgen over de hiërarchisch gestructureerde kenmerken. 40 Drill-down: of inzoom-operator, meer details krijgen Slice en dice: bepaalde kenmerken uit de matrix nemen de feiten voor snoep en conserven worden geprojecteerd Selecteren: bijkomende condities opleggen aan feiten. Alleen de feiten die voldoen aan deze condities worden getoond. Bv het feit winst moet ten minste 35% zijn, andere cellen zullen leeg terugkomen sorteren: waarden van kenmerken worden gesorteerd volgens afnemende o toenemende waarde. Bv sorteer volgens afnemende omzet 41 LOGISCH DATAWAREHOUSEONTWERP Hier moeten datawarehouseschema’s worden opgebouwd. In dit schema staat § welke matrices deel uitmaken van de datawarehouse § hoe deze zijn opgebouwd § hoe ze aan elkaar zijn gerelateerd 1ste werkwijze: n-dimensionale matrices worden weergegeven met behulp van 2-dimensionale basisrelaties. Zelfde vorm als relationeel databaseschema. Semantisch zijn er echter grote verschillen. 2de werkwijze: n-dimensionale matrices worden behouden en zo weergegeven en geïmplementeerd. = meerdimensionaal datawarehouseschema. RELATIONELE DATAWAREHOUSESCHEMA’S Opgebouwd uit 2 soorten basisrelaties: § In een feitenrelatie worden alle feiten van een bepaald onderwerp bijgehouden. Elke tuple correspondeert met 1 cel. § In een dimensierelatie geven we informatie weer over de waarde van 1 kenmerk van de feiten uit een cel. Elke dimensierelatie heeft een eenvoudige(niet-samengestelde) primaire sleutel. Men maakt voor elke dimensierelatie een surrogaatsleutel zodat het datawarehouse onafhankelijk gemaakt wordt van de structuur van de data uit de databronnen. De primaire sleutel van een feitenrelatie is samengesteld. Voor elk kenmerk van de feiten uit de feitenrelatie wordt de primaire sleutel van de dimensierelatie opgenomen als vreemde sleutel in de feitenrelatie. De primaire sleutel van de feitenrelatie is de samenstelling van al deze vreemde sleutels. Sterschema’s (eenvoudigste manier om het te modelleren) In een sterschema geven we elk onderwerp weer door 1 feitenrelatie en een aantal dimensierelaties. Voor elk kenmerk van de feiten uit de feitenrelatie wordt juist één dimensierelatie gebruikt. Deze dimensierelatie hoeft niet genormaliseerd te zijn. 1 onderwerp verkoopcijfers In het algemeen kan dit schema meerdere onderwerpen omvatten. In dat geval tekenen we meerdere sterschema’s Hier zijn de dimensierelaties Plaats en Tijd niet genormaliseerd Het niet normaliseren kan prestatiewinst opleveren: we vermijden overhead van join- operaties. 42 Snowfake-schema’s Is een variant van een sterschema waarin we elk kenmerk weergeven door een verzameling van gerelateerde dimensierelaties die allemaal minstens in derde normaalvorm staan. Starflake-schema’s is een sterschema waarin sommige dimensierelaties wel en andere niet minstens in derde normaalvorm staan. 43 Feitenconstellatie Is een relationeel datawarehouseschema waarin twee of meerdere feitenrelaties één of meerdere dimensierelaties delen. (dimentierelaties kunnen gedeeld worden door verschillende sterren) Wanneer bij voorgaande schema’s de feiten van 2 onderwerpen hetzelfde kenmerk hebben, resulteert dit in duplicatie van de dimensierelaties ze delen dimensierelaties tijd, plaats, product stad en regio MEERDIMENSIONALE DATAWAREHOUSESCHEMA’S Opgebouwd uit meerdimensionale matrices waarvan we voor elke matrix feiten en dimensies moeten specifiëren. Feiten: naam en datatype Dimensies: naam, datatype en waarden à bij hiërarchisch gestructureerde gegevens, moeten we ook de hiërarchische structuur meegeven. Data wordt bijgehouden in meerdimensionale gelinkte lijsten. (verborgen voor gebruikers). De lijsten zijn verbonden via pointer. Een record kan een cel of een dimensie(met waarde) voorstellen. Gemakkelijker om te zoeken dan relationele datawarehouses, maar complexer om gegevens toe te voegen, te verwijderen of aan te passen. Er bestaan ook hybride systemen waarbij de detaildata beheerd worden met een relationele structuur en de sterk geaggregeerde gegevens in een meerdimensionale structuur. HET NEGEN-STAPPENPLAN VAN KIMBALL Model om een relationeel of meerdimensionaal datawarehouseschema op te bouwen: § Stap 1 kies het onderwerp(en): rekening houdende met de prioriteiten van de onderneming en de kwaliteit van beschikbare bronnen. § Stap 2 baken het onderwerp af: wat moet geanalyseerd kunnen worden en welke data zijn daarvoor nodig? § Stap 3 identificeer en conformeer de kenmerken/dimensies: veel of weinig detail bepaald de gebruiksvriendelijkheid. Kenmerken moeten geconformeerd worden, nagaan of ze voorkomen bij 2 of meer onderwerpen. Als dit het geval is moeten ze dezelfde waarden hebben bij alle onderwerpen of de ene moet een deelverzameling zijn van de andere. Dit is nodig om deze data in verband te kunnen brengen bij analyses. 44 § Stap 4 Kies de feiten: moeten numeriek zijn, granulariteit moet in overeenstemming zijn met de afbakening van het onderwerp. § Stap 5 Toevoegen van afgeleide feiten: nuttig om vooraf berekende feiten op te slaan? Bv winst% § Stap 6 Afwerken van de kenmerken van de feiten: zijn de waarden van de kenmerken genoeg omschreven? § Stap 7. Bepalen van het tijdskader van het datawarehouse: hoe lang moeten de feiten bewaard worden? § Stap 8. Leg de strategie vast voor traag veranderende kenmerken: aanpassingsstrategie van type 1,2 of 3? § Stap 9. Vastleggen van de fysieke parameters: systeemadministratie, beveiliging en parameters voor bestandorganisatie VIRTUELE DATAWAREHOUSES EN DATAMARTS: In principe zou een organisatie 1 groot datawarehouse moeten hebben, maar dit kan te log worden waardoor het te lang duurt om dit te analyseren. Enterprise-wide datawarehouse § grote inspanning § groot volume, lage performantie Datamarts: kleinere datawarehouses per afdeling of per functionaliteit. Meestal bestaat dit slechts uit 1 sterschema. à Het is belangrijk dat het ETL proces altijd centraal gebeurd, als je dit lokaal doet zal je uiteindelijk variaties tussen datamarts krijgen wat je niet wilt. Integratie § bottom-up-benadering (Ralph Kimball): datamarts koppelen tot enterprise-wide dwh § top-down-benadering (Bill Inmon): datamarts afleiden uit enterprise-wide dwh Virtueel datawarehouse: niet echt een datawarehouse, eerder een uitbreiding van een database opgebouwd uit gematerialiseerde views. Ze worden beheerd met een DBMS waardoor ze niet alle functionaliteiten aanbieden à sterk af te raden OLAP: ONLINE ANALYTICAL PROCESSING Verzamelterm voor alle technologie voor dynamische synthese, analyse en consolidatie van grote volumes met meerdimensionale data. § ROLAP: Relationele OLAP § MOLAP: Meerdimensionale OLAP § HOLAP: Hybride OLAP OLAP-applicaties bieden ondersteuning voor elke basisoperatie: pivoteren, roll-up, drill-down, slice en dice, selecteren en sorteren. Applicaties: § Verkoop § Marketing § Productie § Financiën 45

Use Quizgecko on...
Browser
Browser