Datawarehouse generation als alternatief voor automation: waarom wel of waarom niet?
Datawarehouse automation staat bekend als een snelle manier om een datawarehouse in te richten en te onderhouden. Voor wie een stapje verder wil gaan, is datawarehouse generation een alternatief. Maar wat houdt generation in? En in welke situatie is het een verbetering ten opzichte van datawarehouse automation? Ron Hoes, Consultant Business Intelligence bij Riviq, beantwoordt die prangende vragen in dit blog.
Datawarehouse automation en generation: wat is het eigenlijk? Laat ik beginnen bij automation. Een begrip dat de laatste jaren aan populariteit heeft gewonnen. Bij datawarehouse automation gebruik je een tool die je ondersteunt bij het ontsluiten van databronnen en het vullen van je datawarehouse.
De tool automatiseert het Extraction, Load & Transformation (ETL)-proces. Dat neemt je veel repetitieve werkzaamheden uit handen. Maar komt er een nieuwe databron bij? Of vindt er een wijziging plaats in een tabel? Dan ben je alsnog onnodig veel tijd kwijt aan het ontwikkelen en testen van je datawarehouse.
Eén instructie voor al je tabellen
Datawarehouse generation gaat een stapje verder. Bij generation creëer je eenmalig een script met instructies voor zowel brontabellen als tabellen die het datamodel vormen. In dit script leg je het stramien vast; regels die bepalen hoe data wordt verwerkt en vastgelegd.
Dat zorgt ervoor dat al jouw kerninstructies om van bron tot datawarehouse te komen op één plaats vastliggen. En wanneer er wijzigingen in tabellen of toevoegingen van databronnen plaatsvinden, hoef je de instructies niet meer zelf aan te passen. Je past namelijk alleen de metadata aan. Zo is je datawarehouse razendsnel weer up-and-running, inclusief de uitgevoerde aanpassingen.
Datawarehouse generation: waarom wel of niet
Datawarehouse generation is daarmee een zeer interessant alternatief voor automation. Dus wat kies je? Hieronder vier redenen waarom je niet of juist wel voor generation moet kiezen:
Waarom niet?
- Geen probleem? Houden zo!
Is de kwaliteit van je datawarehouse goed? Ben je tevreden over hoe snel je op dit moment veranderingen door kan voeren (time to market)? Houd je datawarehouse en je manier van werken dan zoals ze zijn. If it ain’t broke, don’t fix it.
- Geen standaard datamodel
Wijkt jouw datamodel flink af van de gangbare datamodelleringsstandaarden? En zijn er weinig patronen te herkennen? Probeer dat eerst op orde te krijgen. Zonder aanwezigheid van patronen en het consequent gebruik van standaarden is generation namelijk onhaalbaar.
- Ontbreken van ervaren medewerkers
Om datawarehouse generation snel en efficiënt in te zetten, helpt het wanneer je over medewerkers beschikt die al langer bekend zijn met datawarehousing. Zo kan je sneller standaarden en patronen vaststellen of opzetten. Zijn jouw medewerkers nieuw in de wereld van datawarehousing? Dan is de inzet van een ETL-tool of datawarehouse automation-tool een verstandigere keuze.
- Gebruik van een gesloten ETL-tool
Cruciaal voor het slagen van datawarehouse generation is dat je instructies, in de vorm van code, kan toevoegen aan de tool die je gebruikt voor het inrichten van je datawarehouse. Kort gezegd, een tool die zich laat scripten. Gebruik je een ETL-tool die dat niet toelaat? Dan is generation onmogelijk.
Waarom wel?
- Minder onderhouds- en uitbreidingskosten
Bij datawarehouse generation hoef je alleen het script dat de instructies bevat te onderhouden of uit te breiden. De code die jouw datawarehouse vult, wijzig je niet. Die wordt namelijk automatisch gegenereerd. Dat zorgt ervoor dat je nieuwe functionaliteiten maar op één plek ontwikkelt, minder tijd kwijt bent aan onderhoud en dat je meer tijd over hebt om waarde te halen uit je data.
- Betere kwaliteit van je datawarehouse
Doordat je alleen het instructiescript aanpast, hoef je ook alleen de logica van dat script te testen. In plaats van het testen van ieder stukje code. Dat zorgt voor een veel betere kwaliteit van je datawarehouse én biedt de mogelijkheid tot automatisch testen.
- Snellere time to market
Minder onderhoud en minder testen, betekent dat jouw wijzigingen sneller in productie kunnen. Je hoeft geen aandacht meer te schenken aan tijdrovende en repetitieve werkzaamheden.
- Optimaal schaalbaar
Het werken met een instructiescript zorgt ervoor dat je zoveel tabellen kan toevoegen als je wil, van drie tot driehonderd. Na de eenmalige opzet van het script is het toevoegen van elke nieuwe tabel een kwestie van metadata invullen. De ontwikkeling van je datawarehouse is op die manier ideaal schaalbaar.
Automation of generation?
Kies je voor datawarehouse automation of generation? Je keuze is erg afhankelijk van jouw huidige situatie. Ga goed na wat voor jou geldt en laat daar je keuze vanaf hangen. Voor beide opties geldt: het maakt jouw ETL-proces eenvoudiger.
Maar denk ook vooral na over de vervolgstap: hoeveel tijd en werk wil je kwijt zijn aan wijzigingen en onderhoud van je datawarehouse? Daar zit namelijk het grootste verschil tussen automation en generation.
Wil je meer informatie over datawarehouse generation? Neem dan gerust contact met me op.
Geschreven door
Ron Hoes
Consultant Business Intelligence
Meer over dit onderwerp
De kracht van text mining. Zo haal je waardevolle inzichten uit enquêtes
Enquêtes leveren vaak waardevolle feedback op, maar veel organisaties benutten de informatie uit open antwoorden nog onvoldoende. Wat als je deze verborgen informatie kunt omzetten in bruikbare inzichten voor jouw organisatie? In dit artikel laat Data Scientist...
Copilot voor Power BI. Je persoonlijke assistent voor rapportages?
Is Copilot voor Power BI een volwassen tool en hoe bruikbaar is het?Copilot voor Microsoft Fabric is sinds juni 2024 algemeen beschikbaar in Power BI. Tijdens introductie waren er hoge verwachtingen! In verschillende artikelen, guides en tutorials werden de...
Altijd keurige code met SQLFluff in DBT. Zo werkt deze handige linter
SQL-code reviews kunnen behoorlijk tijdrovend zijn. Zeker als al je collega’s code op een andere manier schrijven. Bijvoorbeeld omdat je er geen afspraken over hebt gemaakt of niet iedereen zich aan de afspraken houdt. Met SQLFluff in dbt voorkom je dat. Data engineer...