Home / Nieuws / Zo maakten wij de Data Warehouse Accelerator
16 november 2020
Door: Dennis Barhorst

Zo maakten wij de Data Warehouse Accelerator

Featured image for a blog about the Data Warehouse Accelarator

Een (Azure) SQL oplossing die het eenvoudig maakt een data warehouse te maken.

In mijn werk ben ik altijd op zoek om dingen makkelijker te maken. En ik ben niet alleen: binnen het BI team kijken we graag naar oplossingen om ons werk te versnellen. Wanneer we nieuwe ideeën hebben om dingen te automatiseren of features die handig zijn, worden deze toegevoegd in een continue uitbreidende oplossing. Met deze insteek zijn we ook tot een oplossing gekomen waar al onze klanten met een data warehouse gebruik van kunnen maken.

Wat inmiddels de Data Warehouse Accelerator genoemd wordt begon met een hele andere insteek. Bij veel projecten voerden we steeds herhaaldelijk werk uit bij het opzetten en onderhouden van een data warehouse. Nu zijn er natuurlijk mooie grote data warehouse oplossingen die het onderhouden ervan  makkelijker maken, maar voor veel klanten is dit te duur of is de oplossing te groot voor het doel. Om herhaaldelijk werk te automatiseren en om tijd te besparen hebben we de Data Warehouse Accelerator ontwikkeld. Deze bespaarde tijd kunnen wij dan weer gebruiken om bijvoorbeeld de rapportage in Power BI nóg mooier te maken.

 

Hoe doe je zoiets?

Om je een inzicht te geven van ons proces, neem ik je even mee in de stappen die we hebben genomen.

Zodra we met de klant de functionele kant van het data warehouse hebben afgesproken, de bronnen hebben bepaald en deze beschikbaar gemaakt zijn voor het data warehouse, gaan we aan de slag met het opzetten van het datewarehouse volgens de volgende stappen.

  1. Bepalen van de dimensies (context bijv. klanten) en facts (tabellen met waarden, bijvoorbeeld verkooporders) en de berekeningen die hierin gebeuren moeten
  2. Views aanmaken die data voorbereidingen doen
  3. Een tabel aanmaken waarin de data die de view ophaalt en transformeert opgeslagen kan worden
  4. Een stored procedure maken waarmee we het verladen van de data van view naar tabel kunnen mappen en automatiseren

De verschillende componenten in dit proces moeten allemaal precies op elkaar aansluiten, dus een foutje is snel gemaakt. Daarnaast betekent een kleine aanpassing, zoals een extra veld toevoegen, dat een verandering op 3 plekken (view, tabel en stored procedure). Dit zorgt ervoor dat kleine aanpassingen al snel veel tijd kosten.

Doordat deze relatief simpele handelingen samen complex worden, kun je je afvragen of dit te automatiseren valt? Met als motto: “liever lui dan moe”, zijn wij dit gaan proberen. Na een hoop “dynamische” SQL en wat hoofdpijn, is ons idee werkelijkheid geworden. In de eerste versies van de ontwikkeling hebben we de stappen veel eenvoudiger kunnen maken. Stappen 3 en 4 zijn vervangen door het te automatiseren. Met de Data Warehouse Accelerator hoeft alleen de view aangepast te worden en met 1 druk op de knop wordt zowel de tabel als de stored procedure aangepast.

 

DWH Accelerator

We hebben de Data Warehouse Accelerator inmiddels uitgebouwd met de onderstaande features. Maar de simpele manier van onderhouden en opbouwen van het data warehouse is hetzelfde gebleven.
Nieuwe features zijn onder andere:

  • Automatisch indexen rebuilden op data warehouse
  • Logging om de stappen bij het refreshen van het data warehouse te kunnen volgen
  • Separatie van data in schema’s voor het beveiligen en beperken van toegang in het data warehouse
  • Incrementeel verversen van data zodat de data verlading sneller en vaker kan (alleen nieuwe data in plaats van continue alles)

 

Versnel je proces

Alles is toegevoegd om niet alleen het beheer voor klanten, maar ook ons eigen werk makkelijker te maken. Er zijn nu niet alleen technische mensen nodig voor het onderhouden, maar is het toegankelijk voor (bijna) iedereen. De connectie van de data warehouse accelerator met SQL Jobs (on-premise) of het Azure Data Factory (Cloud), zet in een mum van tijd een volledig datawarehouse op vanaf het moment dat er data beschikbaar is. Door de makkelijke opzet is het mogelijk om met basis SQL kennis de DWH Accelerator te gebruiken.

 

Self-service BI

Op dit moment wordt het door onze klanten gebruikt om zelf uitbreidingen te doen op de data die beschikbaar is voor hun rapportages. Dit sluit volledig aan op de visie van ons BI-team: “self-service BI”. Ons doel is namelijk om onze klanten zelf in staat te stellen actiegerichte inzichten te genereren vanuit hun eigen data. Zo kunnen zij zichzelf bedienen op het gebied van Business Intelligence.

Wij helpen zo ook met de initiële opzet van de data integraties en het datawarehouse, en stellen onze klanten zelf instaat tot uitbereidingen. En mocht er niemand aanwezig zijn die dit kan/wil/tijd voor heeft, dan voeren wij natuurlijk graag de gevraagde aanpassingen uit.

 

Meer informatie?

Voor meer informatie over BI, data warehousing of de DWH Accelerator kun je altijd mailen naar biteam@dynamicpeople.com of bel  +31 (0) 20 303 24 70