Data Warehouse Een introductie Algemene informatie voor medewerkers van SYSQA B.V.
Organisatie SYSQA B.V. Pagina 2 van 9 Inhoudsopgave 1 INLEIDING... 3 1.1 ALGEMEEN... 3 1.2 VERSIEBEHEER... 3 2 DOEL VAN EEN DATA WAREHOUSE... 4 2.1 OPZET VAN EEN DATA WAREHOUSE... 4 2.2 HET CONCEPT DATA WAREHOUSE... 5 3 OP TE LEVEREN PRODUCTEN IN HET ONTWIKKELCYCLUS... 6 3.1 FUNCTIONEEL ONTWERP (FO)... 6 3.2 TECHNISCH ONTWERP (DATA MODEL)... 6 3.3 INITIËLE VULLING... 6 3.4 PERIODIEKE UPDATE... 7 3.5 DAADWERKELIJKE INVULLING VAN DE INFORMATIEBEHOEFTE... 7 4 HET TESTEN VAN EEN DATA WAREHOUSE... 8 4.1 QUALITY ASSURANCE MAATREGELEN... 8 4.2 KRITISCHE SUCCESFACTOREN EN KWALITEITSEIGENSCHAPPEN... 8 5 LITERATUURVERWIJZINGEN... 9
Organisatie SYSQA B.V. Pagina 3 van 9 1 Inleiding Het toepassen van een data warehouse wint sinds een aantal jaren steeds meer aan populariteit als middel om een aantal elementaire informatieproblemen op te lossen. Er zijn drie belangrijke redenen waarom tot de inzet van een data warehouse wordt overgegaan: Het risico van overbelasting van het bronsysteem wegnemen; De snelheid van het opvragen van informatie verhogen; Het vasthouden en opbouwen van historische informatie. 1.1 Algemeen De definitie van een data warehouse is niet eenduidig te geven omdat er geen beperkingen bestaan voor wat betreft het inzetten van de te gebruiken methodes en technieken om aan de bepaalde informatievraag te voldoen. Hierdoor kan een data warehouse niet vergeleken worden met een transactionele database. Een veel gebruikte omschrijving van een data warehouse is: Een bedrijfsspecifieke, complete en consistente opslag van gegevens verkregen uit verschillende bronsystemen. Omdat het concept voor een data warehouse relatief nieuw is zijn er nog veel onduidelijkheden en is het voor veel mensen moeilijk om gedachtepatronen met betrekking tot traditionele processen en technieken los te laten. Het ontwerpen, bouwen en onderhouden van een data warehouse is hierdoor in korte tijd een apart vakgebied geworden, en wijkt sterk af van de gebruikte methoden om een transactionele database te ontwerpen, bouwen en te onderhouden. Een data warehouse moet niet worden gezien als een product, maar als een project waarin de organisatie en de ICT afdeling gezamenlijk tot afstemming komen om in de informatiebehoefte te voorzien. Medewerkers van verschillende afdelingen en mogelijk uit verschillende disciplines zijn de beheerders en gebruikers van het data warehouse en de gegevens daarin. Zij bepalen gezamenlijk aan welke informatie binnen de organisatie behoefte is, uit welke systemen deze informatie betrokken dient te worden en hoe het data warehouse hierin de grootste toegevoegde waarde voor de organisatie kan leveren. 1.2 Versiebeheer Versie Status Datum Auteur Opmerkingen 0.1 Concept 13 november 2001 SYSQA Eerste concept 0.2 Concept 24 november 2001 SYSQA Verwerken opmerkingen J.J. Cannegieter 1.0 Definitief 21 maart 2002 SYSQA Definitief maken 1.1 Definitief 12 april 2011 SYSQA Aanpassen aan nieuwe huisstijl
Organisatie SYSQA B.V. Pagina 4 van 9 2 Doel van een data warehouse Het doel van het data warehouse is het van de organisatie van informatie. Het data warehouse is de database met data om in de informatiebehoefte te voorzien. Naast de database van het data warehouse is er een mogelijkheid tot rapporteren nodig. Vaak wordt hiervoor een aparte applicatie (DSS Decision Support System) ingezet. Een data warehouse is een systeem van één of meerdere databases, tabellen en technieken die op een zo flexibel mogelijke manier is ingericht. Uit dit geheel van databases, tabellen en technieken dienen alle bekende en indien mogelijk ook de toekomstige vragen met betrekking tot de bedrijfsinformatie beantwoord te worden. Door de flexibele inrichting zijn ook toekomstige ontwikkelingen die leiden tot veranderingen in het bronsysteem, in de informatiebehoefte of toevoegingen van informatiesystemen aan het data warehouse in te passen in de architectuur. In de onderstaande tekening is de functie van het data warehouse schematisch weergegeven. In de volksmond wordt er weinig of geen onderscheid gemaakt tussen de database van het data warehouse en het geheel van het data warehouse samen met het DSS. Beide worden vaak door elkaar met de term data warehouse benoemd. Bronsysteem 1 Bronsysteem 2 Data Warehouse Decision Support System Bronsysteem n Daarnaast worden aan het data warehouse randvoorwaarden gesteld. De randvoorwaarden waaraan, over het algemeen, voldaan dient te zijn: Geen risico van overbelasting van het bronsysteem; dit kan gerealiseerd worden door een aparte database in te richten voor het opvragen van informatie (het data warehouse), en door het (bij)laden van deze database buiten de beschikbaarheidvensters van het bronsysteem of door het doorlopend laden van kleine delen. Hoge snelheid van het opvragen van informatie; dit kan gerealiseerd worden door de inrichting van de data warehouse database te optimaliseren op de verwachtte vraagstelling. Vasthouden en opbouwen van historische informatie; dit kan gerealiseerd worden door de data warehouse database de mogelijkheid te bieden om te blijven groeien. 2.1 Opzet van een data warehouse Het data warehouse wijkt sterk af van een transactionele database. Een transactionele database is ingericht om aan te sluiten op een applicatie en wordt met data gevuld door middel van de bijbehorende applicatie, terwijl een data warehouse is ingericht om aan te sluiten bij het DSS. Het data warehouse is in principe ook een database, maar op een andere manier ingericht en het ontrekt zijn gegevens op een andere wijze dan een transactionele database. Een data warehouse wordt door middel van laadprocedures initieel gevuld met relevante data uit de bronsystemen. Dit laadproces wordt ook wel ETL proces (Extraction Transformation Load) genoemd. Om de informatie in het data warehouse actueel te houden is een periodieke update nodig. De update van het data warehouse kan via een ETL proces, een handmatig proces of via een combinatie hiervan uitgevoerd worden.
Organisatie SYSQA B.V. Pagina 5 van 9 Let wel: de inhoud van het data warehouse hoeft niet gelijk te zijn aan de inhoud van de bronsystemen. 2.2 Het concept data warehouse Het grootste, voor de hand liggende, misverstand over het data warehouse is de aanname dat het om een relationele database gaat waarin alle voor de informatiebehoefte noodzakelijke data is opgeslagen. Een data warehouse voldoet namelijk zelden aan de gangbare regels die gelden voor een relationele database. Een data warehouse is door de omvang en complexiteit ook niet als relationele database te ontwerpen, laat staan te bouwen. Afhankelijk van de informatiebehoefte ontstaan er vaak schema s en regels die in normale (transactionele) systemen onwenselijk of zelfs foutief zijn. Bijvoorbeeld redundante informatie, kan binnen het data warehouse concept voorkomen. Omdat een data warehouse niet afhankelijk is van logische transacties is dit geen issue: het doel heiligt de middelen en het doel is het genereren van betrouwbare bedrijfsinformatie in een zo kort mogelijke tijdsperiode.
Organisatie SYSQA B.V. Pagina 6 van 9 3 Op te leveren producten in het ontwikkelcyclus Binnen de ontwikkelcyclus van een data warehouse kunnen zes producten worden onderscheiden. Deze producten worden in de volgende paragraven beschreven. Binnen deze producten zit een bepaalde volgtijdelijkheid. De eerste vier producten zijn een tussenproduct en kunnen worden getoetst, het zesde product (de daadwerkelijke invulling informatiebehoefte) is het eindproduct en kan worden getest. Het data warehouse kan worden ingedeeld in verschillende informatiegebieden (zogenaamde data marts), bijvoorbeeld klanteninformatie, verkoopinformatie, productinformatie etc. De oplevering van deelproducten kan in dit geval per informatiegebied gegroepeerd worden. 3.1 Vooronderzoek Tijdens het vooronderzoek wordt bepaald welke informatiebehoefte er zijn, hoe hier invulling aan gegeven kan worden en op welke wijze het datawarehouse opgebouwd gaat worden (architectuur). Naast de definitie van de informatiebehoefte worden in het vooronderzoek de kritische succesfactoren en eisen aan eind- en tussenproducten opgesteld (acceptatiecriteria). Voorbeelden zijn eisen aan performance, flexibiliteit, uitbreidbaarheid en beschikbaarheid. Deze eisen vormen de basis voor de toesting later in het traject. 3.2 Functioneel ontwerp (FO) Na oplevering van het functioneel ontwerp kan deze getoetst worden met de vastgestelde eisen en wensen met betrekking tot de informatiebehoefte van de organisatie. Doel van de toetsing is vaststellen of de eisen goed verwerkt zijn in het functioneel ontwerp. Het functioneel ontwerp wordt als basis gebruikt voor de toetsing van de volgende producten en als testbasis. Hierbij kan men denken aan: De gedefinieerde informatiebehoefte; Performance aspecten; Eisen op het gebied van vasthouden historie; Update frequentie(s); Eisen op het gebied van flexibiliteit, uitbreidbaarheid e.d.; Beschikbaarheid van de onderdelen van het data warehouse, etc. 3.3 Technisch ontwerp (data model) Het datamodel is voor het data warehouse het belangrijkste onderdeel van het technisch ontwerp. Het datamodel wordt getoetst aan de hand van de eisen en wensen van het functioneel ontwerp. Deze toetsing heeft als doel de mogelijkheden van het technisch ontwerp (datamodel) met de eisen en wensen verwoord in het vooronderzoek en het functioneel ontwerp te toetsen. 3.4 Initiële vulling De initiële vulling (initial load) van de database (het data warehouse) is het eerste concrete deelproduct binnen de ontwikkelcyclus van het data warehouse. De initiële vulling is het resultaat van het ontworpen ETL proces. De initiële vulling wordt getoetst aan de hand van het datamodel en het functioneel ontwerp. De wijze van toetsen lijkt op testen van de initiële vulling, echter de initiële vulling is een tussenproduct om te komen tot het eindproduct, de daadwerkelijke invulling van de informatiebehoefte, en is dus een toetsing. De initiële vulling samen met de periodieke update dragen er samen zorg voor dat de relevante data uit de bronsystemen in de database van het data warehouse de vereiste actualiteit behouden.
Organisatie SYSQA B.V. Pagina 7 van 9 3.5 Periodieke update De periodieke update van het data warehouse is ook een resultaat van het ontworpen ETL proces. Het resultaat van het ETL proces wordt getoetst aan de hand van het functioneel en technisch ontwerp. Deze toetsing heeft tot doel vast te stellen of de periodieke update de behaalde kwaliteit van de initiële vulling borgt. 3.6 Daadwerkelijke invulling van de informatiebehoefte De daadwerkelijke invulling van de informatie behoefte kan op verschillende manieren gebeuren. Hierbij kan men bijvoorbeeld denken aan het te gebruiken DSS (Decision Support System). De mogelijkheden van de onderliggende queries van het DSS kunnen apart getoetst worden aan het technisch en functioneel ontwerp. Echter het resultaat van de daadwerkelijke invulling van de informatiebehoefte is het eindproduct en dus te testen. Als referentie wordt hetgeen in het functioneel ontwerp is gesteld gebruikt.
Organisatie SYSQA B.V. Pagina 8 van 9 4 Het testen van een data warehouse Naast het vaststellen van de betrouwbaarheid van de data die wordt gepresenteerd door middel van het DSS is het belangrijk dat de gebruikers vertrouwen krijgen in deze resultaten. Vertrouwen van de gebruikers in de data van het data warehouse is te bereiken door gebruikers intensief te betrekken in alle fasen van toetsen en testen. Voor de gebruikers is een transactionele database eenmaal duidelijker en begrijpelijker dan een data warehouse, hiervoor is een andere betrokkenheid van de gebruikers in het toets en testproces van een data warehouse nodig. Voor de testfasering kan de fasering Planning & Beheer, Voorbereiding, Specificatie, Uitvoering en Afronding (PVSUA) volgens TMap worden ingezet. Het eisendocument en het functioneel ontwerp wordt als testbasis gebruikt. De traditionele testtechnieken zoals elementaire vergelijkingentest, beslissingstabellentest, dataflowtest etc. kunnen binnen het data warehouse niet worden toegepast. Van de deelproducten en van het eindproduct wordt vastgesteld in welke mate deze aan het eisendocument en het functioneel ontwerp voldoen. 4.1 Quality Assurance maatregelen Door middel van het opstellen van kritische succesfactoren, eisen aan tussen- en eindproducten en het toetsen van de deelproducten en testen van het eindproduct kan de kwaliteit van het product tijdens de ontwikkelcyclus worden geborgd. Daarnaast kan de kwaliteit van de ontwikkeling van een datawarehouse worden beheerst door gebruik te maken van beheerprocedures zoals versiebeheer, configuratiebeheer en problem- en changemanagement. 4.2 Kritische succesfactoren en kwaliteitseigenschappen De meest gebruikte kritische succesfactoren voor een data warehouse zijn: 1. Performance; 2. Beschikbaarheid; 3. Functionaliteit; 4. Verversing van de data en de periode dat de data wordt vastgehouden; 5. Moeilijkheidsgraad van het DSS; 6. Toegankelijkheid van de data; 7. Accuraatheid van de data; 8. Recentheid van de data; 9. Volgorde oplevering informatiegebieden; 10. Ondersteuning aan de gebruikers na implementatie. Aan de hand van de kritische succesfactoren kunnen de kwaliteitseigenschappen van het data warehouse worden vastgelegd. Na de definitie van de kwaliteitseigenschappen kunnen de kwaliteitsindicatoren met de bijbehorende meetvoorschriften en normen worden opgesteld.
Organisatie SYSQA B.V. Pagina 9 van 9 5 Literatuurverwijzingen Building the Data Warehouse, William H. Inmon, ISBN: 0471141615, Uitgegeven door Pete Wolsley Het opzetten van een data warehouse, W. H. Inmon, ISBN: 9039507287, Uitgegeven door Academic Service Managing the Data Warehouse, William H. Inmon ISBN: 0471163104, Uitgegeven door Pete Wolsley Data Warehouse Project Management, Sid Adelman, Larissa Terpeluk Moss ISBN: 0201616351, Uitgegeven door Addison Wesly De Oracle 8 helpfiles