Wat is een datawarehouse?
Datawarehouse opzetten: Een essentiële stap naar betere bedrijfsinzichten. Een datawarehouse is een centraal opslagsysteem dat gegevens uit verschillende bronnen binnen een organisatie verzamelt, samenvoegt en beheert. Het is gemaakt om ingewikkelde vragen en analyses makkelijker te maken, zodat bedrijven betere rapporten kunnen maken en betere beslissingen kunnen nemen. In de huidige wereld, waar data heel belangrijk is, helpt een datawarehouse door een duidelijk en makkelijk te gebruiken overzicht van belangrijke bedrijfsinformatie te geven.
De voordelen van een datawarehouse zijn breed. Het helpt bedrijven om efficiënter te werken doordat alle gegevens op één plek samenkomen. Dit zorgt voor betere en snellere beslissingen. Daarnaast verbetert een datawarehouse de kwaliteit en samenhang van de gegevens, maakt het analyses van oude data mogelijk voor het ontdekken van trends en voorspellingen, en stimuleert het gebruik van data in de organisatie. Door deze voordelen is een datawarehouse belangrijk voor bedrijven die sterker willen worden in de markt en sneller willen groeien.
Planning en Voorbereiding
Een goede planning en voorbereiding vormen het fundament van een succesvol datawarehouse-project. Voor de bouw van een datawarehouse begint, is het belangrijk om een duidelijk en gedetailleerd plan te maken. Dit plan moet de doelen en de omvang van het project beschrijven. In deze fase is het nodig om goed te onderzoeken wat het bedrijf wil bereiken met het datawarehouse, zoals welke informatie nodig is en welke beslissingen hiermee ondersteund moeten worden.
Budgettering speelt een sleutelrol in de planningfase. Het is belangrijk om een realistisch budget vast te stellen dat alle aspecten van het datawarehouse-project dekt, van software en hardware tot personeel en training. Een zorgvuldige afweging van de kosten tegen de verwachte voordelen helpt bij het rechtvaardigen van de investering en het veiligstellen van de benodigde middelen. Wij adviseren u om hierbij deskundige hulp in te winnen om een juiste keuze te kunnen maken.
Daarnaast is de samenstelling van het team een essentiële overweging. Het opzetten van een datawarehouse vereist een multidisciplinair team van experts, waaronder data architecten, databasebeheerders, ETL-ontwikkelaars, en business analisten. Elk teamlid brengt specifieke vaardigheden en kennis naar het project, wat essentieel is voor het succesvol navigeren naar een mooi eindresultaat.
Door grondige planning en voorbereiding kunnen bedrijven de risico’s minimaliseren en een solide basis leggen voor een datawarehouse dat aan hun informatiebehoeften voldoet en een langetermijnvoordeel biedt.
Kiezen van de Juiste Technologie
Het kiezen van de juiste technologie is een cruciale stap in het opzetten van een datawarehouse, aangezien deze beslissing de prestaties, schaalbaarheid en uiteindelijk het succes van het project bepaalt. Datawarehouse-technologieën en platforms variëren aanzienlijk, van on-premises oplossingen tot cloud-gebaseerde diensten aangeboden door toonaangevende providers zoals Amazon Web Services, Google Cloud Platform en Microsoft Azure. Elk van deze opties heeft zijn eigen set van functies, voor- en nadelen.
Bij het selecteren van software en hardware moeten organisaties rekening houden met verschillende criteria. Schaalbaarheid is essentieel; de gekozen technologie moet kunnen groeien met het bedrijf zonder prestatieverlies. Het is belangrijk dat het datawarehouse goed samenwerkt met de bestaande systemen en databronnen, zodat alles soepel geïntegreerd kan worden. Dit is cruciaal voor de efficiëntie. Daarnaast moeten de kosten goed worden overwogen, zoals de initiële investering, de lopende kosten voor onderhoud en eventuele kosten voor toekomstige upgrades of uitbreidingen.
Het zorgvuldig afwegen van deze criteria tegen de specifieke behoeften en doelstellingen van het bedrijf helpt bij het maken van een geïnformeerde keuze die de basis legt voor een effectief en duurzaam datawarehouse.
Datawarehouse-Architectuur Ontwerpen
Het ontwerpen van een datawarehouse-architectuur is een complex proces dat een diepgaand begrip vereist van de beschikbare mogelijkheden en de specifieke behoeften van het bedrijf. Twee prominente architecturen in de wereld van datawarehousing zijn de Kimball en Inmon methodes.
De Kimball-architectuur, ook bekend als de dimensionele modellering, benadrukt de bruikbaarheid en toegankelijkheid van de data voor eindgebruikers.Deze aanpak begint met het maken van kleinere data marts voor specifieke bedrijfsprocessen, die later kunnen worden samengevoegd tot een compleet datawarehouse. Het voordeel hiervan is dat bedrijven snel kunnen beginnen met het gebruiken van hun data en snel resultaten zien. Het nadeel is dat het moeilijk kan zijn om het overzicht en de consistentie tussen de verschillende data marts te behouden.
De Inmon-architectuur, of de enterprise datawarehouse-benadering, focust op het creëren van een gedetailleerd, genormaliseerd datawarehouse dat als centrale opslagplaats dient voor alle bedrijfsinformatie. Dit vraagt om een grondige planning en analyse vooraf, maar zorgt voor een zeer consistent en samenhangend overzicht van de bedrijfsdata. Het nadeel is dat deze aanpak meer tijd en geld kan kosten tijdens de implementatie.
Bij het ontwerpen van een datawarehouse-architectuur zijn er enkele belangrijke zaken om in gedachten te houden. Ten eerste is er data modellering, wat bepaalt hoe de data wordt opgeslagen en georganiseerd. Daarnaast is er het integratieproces, dat ervoor zorgt dat data uit verschillende bronnen op een consistente en accurate manier wordt samengevoegd. De keuze voor de juiste architectuur hangt af van de doelstellingen van het bedrijf, de beschikbare middelen en hoe snel het bedrijf het datawarehouse wil implementeren.
Data Integratie en Opslag
Data integratie en opslag vormen de basis van elk datawarehouse, waarbij de Extractie, Transformatie en Laad (ETL) processen centraal staan. Deze processen zijn essentieel voor het verzamelen van data uit diverse bronnen, het omzetten van deze data naar een uniform formaat en het vervolgens laden in het datawarehouse voor opslag en analyse.
Extractie houdt in dat data wordt verzameld uit verschillende interne en externe bronnen, waaronder databases, CRM-systemen en cloud services. Tijdens de Transformatie-fase wordt deze data opgeschoond, genormaliseerd, en getransformeerd om consistentie en nauwkeurigheid te waarborgen. Ten slotte, tijdens het Laden, wordt de getransformeerde data in het datawarehouse ingeladen om te worden voorbereid voor analyse.
Voor effectieve dataopslag en management is het cruciaal om een dataopslagstrategie te ontwikkelen die rekening houdt met zowel de huidige als toekomstige behoeften van de organisatie. Dit omvat het plannen van de opslagcapaciteit, het bepalen van de dataretentiebeleid en het waarborgen van de beveiliging en privacy van de opgeslagen informatie. Door deze richtlijnen te volgen, kunnen organisaties ervoor zorgen dat hun datawarehouse efficiënt, schaalbaar en veilig is, waardoor een solide basis voor datagedreven besluitvorming wordt gelegd.
In de praktijk zien we de volgorde van de Transformatie en Laad stappen in het proces nog weleens wijzigen. Zo zijn er bijvoorbeeld situaties waar het wenselijker is om de data eerst in een datawarehouse te laden om het hierna pas te gaan transformeren. Ons advies bij de keuze tussen ETL of ELT is dan ook om eerst goed in kaart te brengen waar in de technische keten de meeste rekenkracht aanwezig is om de transformatie van de data efficiënt mee uit te kunnen voeren. Daarnaast kan het voordelen bieden om ook de ruwe (nog niet getransformeerde) data in het datawarehouse te laden, zodat er bij eventuele fouten in het verwerkingsproces binnen het datawarehouse terug kan worden gekeken naar de ruwe bron data. Dit zien we tevens vaak bij datalake of lakehouse constructies.
We zien we bij cloud concepten dat de scheiding tussen rekenkracht en opslag standaard al wordt aangebracht. Denk hierbij bijvoorbeeld aan Databricks clusters die kunnen worden opgestart, opgeschaald en afgesloten aan de hand van de behoefte aan rekenkracht. De opslag waarmee zo’n cluster interacteert kan op meerdere manieren buiten het cluster worden vormgegeven.
Implementatie en Deployment
Tijdens de implementatie fase wordt het datawarehouse daadwerkelijk gebouwd volgens de ontworpen architectuur. Hierbij worden de gemaakte inrichtingskeuzes gerealiseerd en uitvoerig getest. Belangrijke onderdelen tijdens het testen van de implementatie zijn bijvoorbeeld: het testen van de connecties tussen het datawarehouse, eventuele ETL tooling en de databronnen en het uitvoeren van penetration tests om eventuele gaten in de beveiliging te ontdekken en vroegtijdig te dichten.
Deployment in een datawarehouse context is het proces van het (al dan niet geautomatiseerd) uitrollen van updates over onder andere de data objecten en de ETL-processen. Om fouten in het deployment proces te voorkomen is het een best practise om een uitgebreid testproces te implementeren. Wanneer een ontwikkelaar een deployment klaarzet, zou het testproces moeten signaleren of er fouten in de aangeboden updates zitten. Als dat zo is, dan kan de ontwikkelaar voordat de deployment daadwerkelijk wordt uitgerold, de aangeboden code nog aanpassen.
Tools als Azure DevOps spelen tegenwoordig een belangrijke rol bij het uitrollen van deployments. Dit soort tooling biedt namelijk functionaliteiten om als team aan dezelfde oplossing te werken (bijvoorbeeld een datawarehouse + ETL pipelines). Het ondersteund ontwikkelteams met zaken als versiebeheer, agile functionaliteiten en dus ook met deployment pipelines. Hierdoor wordt het mogelijk om relatief eenvoudig code (bijvoorbeeld een python script, een stored procedure of de definitie van een tabel) door een collega te laten controleren, automatisch te laten testen en vervolgens automatisch uit te laten rollen over een specifieke omgeving. In dit proces kunnen ook menselijk controle mechanismen ingebouwd worden. Hierbij kun je denken aan een eindverantwoordelijke medewerker die voordat een deployment wordt uitgerold een mail krijgt met de vraag of de deployment daadwerkelijk door mag gaan. Zonder goedkeuring van zo’n persoon gebeurd er in dat geval niks.
Naast de technische implementatie en deployment is het ook van groot belang om ervoor te zorgen dat eindgebruikers goed weten hoe ze het datawarehouse effectief kunnen gebruiken voor rapportage en analyse. Het aanbieden van trainingen in de organisatie en het goed documenteren van de oplossing zijn zaken die hier bij kunnen helpen.
Beveiliging en Compliance
Beveiliging en compliance zijn onmisbare aspecten bij het opzetten van een datawarehouse, gezien de eventuele gevoelige aard van de opgeslagen informatie. Het waarborgen van data beveiliging vereist robuuste maatregelen zoals encryptie, toegangscontroles en regelmatige beveiligingsaudits om ongeautoriseerde toegang te voorkomen en de integriteit van de data te beschermen. Privacyoverwegingen zijn eveneens cruciaal; organisaties moeten ervoor zorgen dat hun datapraktijken in overeenstemming zijn met privacywetten zoals de Algemene Verordening Gegevensbescherming (AVG/GDPR) in de Europese Unie. Dit omvat het implementeren van beleid voor dataminimalisatie, toestemming van de gebruiker, en het recht op inzage en verwijdering. Compliance met deze regelgeving is niet alleen een juridische vereiste maar versterkt ook het vertrouwen van stakeholders in hoe een organisatie met data omgaat.
Conclusies
- Een datawarehouse centraliseert gegevens uit meerdere bronnen en maakt complexe analyses mogelijk, wat leidt tot betere en snellere besluitvorming.
- Het verbetert datakwaliteit en biedt inzicht in historische data voor het ontdekken van trends en voorspellingen.
- Zorgvuldige planning en een gedetailleerd projectplan zijn cruciaal voor een succesvol datawarehouse, inclusief budgettering en samenstelling van een multidisciplinair team.
- Het kiezen van de juiste technologie en architectuur moet aansluiten op de specifieke behoeften van het bedrijf.
- Beveiliging en compliance zijn essentieel, waarbij naleving van privacywetgeving en het waarborgen van dataveiligheid prioriteit hebben.
- Training en documentatie zijn belangrijk om ervoor te zorgen dat eindgebruikers het datawarehouse effectief kunnen gebruiken.
Succesfactor 2: Een stevig fundament
Introductie
Welkom terug bij onze reeks over Generatieve AI (GenAI). Na onze inleiding tot GenAI en het kiezen van een sterke use-case, richten we ons nu op de tweede van de zes succesfactoren: het creëren van een solide fundament van je GenAI-project. Zonder de technische randvoorwaarden op het vlak van systemen, data en processen heeft een Generatieve AI-project weinig kans van slagen.
Het ijsberg principe
We gebruiken het metafoor van een ijsberg om de belangrijke technische voorbereidingen en vereisten voor een succesvol GenAI-project te verkennen. Wat onder de oppervlakte ligt – de data, processen en systemen – is de krachtbron van je (Gen)AI-project.
Kamervragen sneller, nauwkeuriger en consistenter beantwoorden
Neem het AI-gedreven project voor ondersteuning bij Kamervragen als voorbeeld. Aan de oppervlakte stellen we de vraag: “Hoe kunnen we Kamervragen sneller, nauwkeuriger en consistenter beantwoorden?”. Met beleidsmedewerkers bedachten we een aantal kernfunctionaliteiten voor deze uitdaging:
- Het vergelijken van Kamervragen met eerder gestelde Kamervragen en antwoorden.
- Het automatisch samenstellen van dossiers met (passages uit) relevante documenten.
- Het formuleren van potentiële antwoorden op Kamervragen.
Stuk voor stuk zijn dit concrete informatiebehoeften waarmee we aan de slag kunnen. Maar om het te realiseren, moeten we dieper graven om alle aanwezige (en benodigde) componenten te identificeren. Wanneer we het hebben over het beantwoorden van Kamervragen, raken we namelijk ook verwikkeld in onderwerpen zoals ‘2-minuten-debatten’ en ‘mondelinge vragen’. De data is op verschillende manieren gestructureerd en staat ook op verschillende databanken, zoals de website van de Tweede Kamer, Officiële Bekendmakingen, Rijksoverheid en op websites van lokale overheden en kennisinstellingen. Bovendien vereisen de gewenste functionaliteiten specifieke tools en systemen om data te verzamelen, te bewaren, door te zoeken, te interpreteren, te verwerken en te verrijken. In dit blog gaan we stap voor stap deze essentiële bouwstenen langs.
De cruciale rol van data
Elk GenAI-project start met de essentiële bouwsteen: data. De kwaliteit van je resultaten hangt grotendeels af van de datakwaliteit. Of je project nu gericht is op het optimaliseren van de klantenservice, het voorspellen van marktontwikkelingen of het beantwoorden van Kamervragen, op hoofdlijnen volgen we de volgende stappen:
- Data verzamelen: Vanuit de selectie van relevante data voor je use case start je met het verzamelen van de ruwe data. Per databron bekijk je op welke manier je de data kan binnenhalen, denk bijvoorbeeld aan een API-connectie met een databank of een het scrapen van een website. Daarnaast is het van belang om na te denken over de verversingsgraad van de data indien je het AI-project naar productie wil brengen.
- Data pre-processen: Daarna is het zaak om je data op te schonen en structureren. Denk hier aan het tokeniseren, lemmatizeren, stemmen en het verwijderen van overbodige elementen uit teksten. Daarnaast kan je ervoor kiezen om grote stukken tekst op te breken in brokjes (het “chunken” van je data) en het creëren van zogeheten “embeddings”, zodat de tekst beter doorzoekbaar is en het taalmodel in een latere stap de data beter kan gebruiken.
- Data beschikbaar stellen: Tot slot maak je de data beschikbaar voor verschillende componenten van je systeem, zoals je zoekmachine of taalmodel.
In het voorbeeld van Kamervragen, hebben we te maken met publicaties over eerder gestelde Kamervragen, geformuleerde antwoorden, debatverslagen, rapporten, nieuwsberichten en nog veel meer. Het resultaat is een gigantische database met miljoenen documenten, vertaald naar specifieke inzichten per Kamervraag. Op hoofdlijnen ziet het proces er als volgt uit (dit is een simplistische weergave):
Systemen en tools
De technologische ruggengraat
Voor het ontwikkelen van GenAI heb je een sterke mix van rekenkracht, gespecialiseerde infrastructuur en de juiste tools nodig. Voor projecten die zich richten op tekst, zoals het interpreteren en beantwoorden van Kamervragen, zijn er specifieke punten om op te letten. Je hebt dan in het bijzonder baat bij flexibele vormen van data-opslag en verwerkingskracht om de ongestructureerde en dynamische aard van tekstuele informatie te kunnen hanteren. Bij JoinSeven gebruiken we hier bijvoorbeeld datalakes en NoSQL-oplossingen voor. Voor het doorzoekbaar maken van documenten gebruiken we daarnaast op Apache Lucene gebaseerde zoektechnologie.
Use, buy or make?
Zoals je leest, komt er op systeemniveau ook een hoop kijken van het realiseren van Generatieve AI projecten. Gelukkig hoeft niet alles intern ontwikkeld te worden. Veel componenten kan je tegenwoordig laten hosten in geavanceerde cloud platformen, zoals Microsoft Azure. Ons AI-platform Heptagon is een voorbeeld van een ‘plug-and-play’-oplossing die de nieuwste technologieën op het gebied van data-engineering, data-security, schaalbaarheid, machine learning en app-ontwikkeling integreert tegen een aantrekkelijk prijsmodel.
Het ontleden van processen
De use case van je AI-projecten bestaat waarschijnlijk uit complexe workflows en sub-processen. Het is belangrijk dat je het proces ontleedt en identificeert welke cruciale paden het functioneren van je toekomstige oplossing bepalen.
- Breng het proces in kaart: Het uittekenen van de gebruikersreis en het begrijpen van de interactie tussen verschillende systemen is de eerste stap. Waar wordt data ingevoerd, welke transformaties ondergaat het en hoe wordt het uiteindelijk gepresenteerd? Het te ontwikkelen AI-systeem moet niet alleen naadloos integreren met deze bestaande structuren, maar ook eventuele nieuwe processen ondersteunen die waarde toevoegen aan de gebruikerservaring.
- Identificeer olifantenpaden: Processen zijn zelden lineair. Werkprocessen vaak verborgen shortcuts en alternatieve routes. Het herkennen en begrijpen van deze alternatieve processen is cruciaal voor het fundament van je AI-project. In ons project van Kamervragen bleek dat – naast het officiële, gestandaardiseerde proces van Kamervragen – ook alternatieve routes bestaan, zoals 2-minuten-debatten en mondelinge vragen. Deze twee aanpalende processen bleken een andere benadering nodig te hebben.
- De rol van AI in je proces: AI kan verschillende rollen aannemen binnen een proces, variërend van volledig autonome assistent die zelf beslissingen neemt tot een ondersteunende assistent. Het is van cruciaal belang om te bepalen hoe AI het beste kan bijdragen aan het proces. In ons Kamervragen-voorbeeld kiezen we bewust om AI een ondersteunende rol in het proces te geven en beleidsmedewerkers zelf te laten beoordelen wat het beste antwoord is op een Kamervraag. Waarom we dat doen, bespreken we later in meer detail in blog 5 over de “verantwoorde inzet van GenAI”.
Het definiëren van deze aspecten is cruciaal voor de ontwikkeling van een AI-systeem dat aansluit bij de gebruikersbehoeften en bestaande processen.
Conclusie
Dit blog heeft je meegenomen door het belang van de technische randvoorwaarden voor Generatieve AI-projecten. We hebben gekeken naar de cruciale onderdelen: data, processen en systemen. In het volgende blog verdiepen we ons in het kiezen van het juiste AI-model dat op dit fundament kan bouwen.
Een aantal hoofdpunten uit dit blog:
- Je systemen, data en processen zijn het fundament voor het succes van een AI-project.
- Het verzamelen, pre-processen en beschikbaar stellen van data zijn essentiële stappen voor het realiseren van je (Gen)AI use case.
- Daarnaast heb je een combinatie van rekenkracht, gespecialiseerde infrastructuur, en de juiste tools nodig.
- Het is belangrijk om het proces en de “olifantenpaadjes” in kaart te brengen.
- Je hoeft niet alle technische randvoorwaarden voor je Generatieve AI zelf te ontwikkelen, want veel is in te kopen en onder licenties te gebruiken.
Direct alle inzichten?
Wil je niet wachten tot alle blogs online staan? Vraag dan direct onze whitepaper over deze serie aan.
Vooruitblik
In de volgende blogs nemen we je mee door alle stappen en overwegingen voor een succesvolle implementatie van GenAI in jouw organisatie. We voorzien je van de benodigde kennis en tools om in jouw organisatie een succesvol AI-project op te zetten. Dus blijf ons volgen en schrijf je in voor de volgende blogs via het formulier hieronder!
Blog 1
Introductie in Generatieve AI
In het intro-blog behandelen we het concept Generatieve AI: Wat is Generatieve AI? We geven een introductie in Generatieve AI: wat het is, hoe het werkt en welke kansen en uitdagingen er liggen bij het implementeren ervan in je organisatie.
Blog 2
Selecteer je use case
In het tweede blog gaan we in op het onderzoek naar en de selectie van een geschikte use case. Hierbij gaan we in op valkuilen bij het kiezen van use cases en het belang om een oplossing voor een probleem te zoeken en niet andersom.
Blog 3
Het fundament van je AI-project
In het derde blog gaan we in op het fundament van ieder succesvol AI-project: de informatievoorziening. Ook voor AI geldt; “garbage in, garbage out”. Het gaat hier niet alleen de AI-modellen die je gebruikt, maar juist ook de data en systemen die deze modellen voeden.
Blog 4
Selecteer, train en tune
je AI-model
In het vierde blog gaan we in op het trainen en tunen van je AI-model voor je use-case. Voor de meeste use-cases is meer nodig dan een “off-the-shelf” oplossing. Het trainen en/of tunen van je taalmodel voor jouw use-case maakt een groot verschil.
Blog 5
Verantwoord inzetten van AI
In het vijfde blog gaan we in op ethische en maatschappelijke overwegingen, zoals privacy en algoritme-bias. Technologie is op zich niet “goed” of “slecht”, maar een verkeerde implementatie kan onnodig risico’s met zich meebrengen. Wij betogen voor een verantwoorde en mensgerichte inzet van AI.
Blog 6
Valideer de haalbaarheid, wenselijkheid en levensvatbaarheid
In het zesde blog gaan we in op het innovatieve aspect van Generatieve AI-projecten en hoe je de relevantie en waarde van je use-case valideert. Onze Data Discovery Sprint geeft hier om een snelle, nauwkeurige, mensgerichte en snelle manier invulling aan.
Blog 7
Begeleid je organisatie in het werken met Generatieve AI
In het zevende blog gaan we in op hoe je mensen in je organisatie leert werken met AI. Een succesvolle implementatie vraagt ook om een gedegen implementatiestrategie met oog voor de technologie, werkprocessen en de mensen die ermee werken.
Blog 8
Recap: Geleerde lessen van de blogserie
In het laatste blog vatten we alle geleerde lessen samen en blikken we vooruit op het vervolg na deze blogserie.