Het Data Warehouse wordt op gezette tijden doodverklaard, dan wel vervroegd met pensioen gewenst. Toch zijn veronderstelde alternatieve concepten zoals bijvoorbeeld Data Lakes en Data Virtualisatie niet in staat gebleken het lot van het Data Warehouse te bezegelen. Onze data platforms ontwikkelen zich door de jaren heen doorlopend om gelijke tred te houden met het veranderende data landschap. Het belang en gebruik van Data Warehouse omgevingen lijkt echter op geen enkele wijze te zijn afgenomen ondanks deze ontwikkelingen, en waarom ook eigenlijk?
IS ER EEN PROBLEEM?
Gezien de regelmatige doodverklaringen van het Data Warehouse; wat wordt als de onderliggende problematiek gezien? Als we naar de definitie van Gartner kijken, is dan iets ervan vandaag minder relevant dan het was, laten we zeggen, tien jaar geleden? Uiteraard niet. Wat is er dan aan de hand, dat het Data Warehouse blijkbaar weer aan de beademing ligt? Zijn de problemen inherent aan het concept van een Data Warehouse, of zijn er nieuwe ontwikkelingen die het beïnvloeden en problemen hebben hebben ermee om te gaan?
DUMMY
Gartner definieert een Data Warehouse als volgt:
“Een Data Warehouse is een opslagarchitectuur die is ontworpen om gegevens te bewaren die zijn geëxtraheerd uit transactiesystemen, operationele gegevensarchieven en externe bronnen. Het Data Warehouse combineert die gegevens vervolgens in een geaggregeerde, samenvattende vorm die geschikt is voor bedrijfsbrede gegevensanalyse en rapportage voor vooraf gedefinieerde bedrijfsbehoeften.”
Eigenlijk is beide het geval. Klopt de inschatting dan dat Data Warehouse omgevingen aan hun einde lijken te komen? Niet echt, aangezien bedrijven wereldwijd niet besluiten om hun bestaande Data Warehouse omgeving uit te faseren. Ook lijkt de vraag naar nieuwe implementaties niet verdwenen of zelfs maar afgenomen. Duidelijk is dat in snel veranderende tijden een reeks oude en nieuwe uitdagingen met betrekking tot Data Warehouse omgevingen moet worden aangepakt. Gelukkig zijn deze problemen niet onopgemerkt gebleven bij een aantal aanbieders van Data Warehouse oplossingen.
UITDAGINGEN
Laten we eerst eens kijken naar hierboven genoemde uitdagingen, zowel oude als nieuwe, of zoals men ook zou kunnen zeggen, uitdagingen die inherent zijn aan Data Warehouse oplossingen, en uitdagingen die in de loop van de tijd zijn ontstaan.
Inherente uitdagingen zijn de uitdagingen waar Data Warehouse projecten vanaf het begin mee hebben geworsteld en daarom vaak genoemd worden als nadelen en/of probleemgebieden:
Deze problemen zijn nauwelijks triviaal te noemen, maar hoe zit het dan met evolutionaire uitdagingen? Hiermee worden de uitdagingen bedoeld die in de loop van de tijd ontstaan zijn door veranderende technologieën en business vragen:
INTRODUCTIE DATA WAREHOUSE AUTOMATION
Data Warehouse Automation werkt door middel van het toepassen van ontwerppatronen op basis van een repository van best practices. Dit gebeurt binnen de Data Warehouse Development Lifecycle. Hiermee bedoelen we diverse ontwikkelfases die een Data Warehouse project doorloopt, van het verzamelen van alle functionele en technische vereisten tot het live gaan in productie. Laten we eens kijken hoe The Data Warehouse Institute (TDWI) het omschrijft:
“… het gebruik van technologie om efficiënter te werken en de effectiviteit in Data Warehousing processen te verbeteren. Data platform automatisering is veel meer dan alleen het automatiseren van het ontwikkelproces. Het omvat alle kernprocessen van Data Warehousing, waaronder ontwerp, ontwikkeling, testen, implementatie, operaties, impactanalyse en wijzigingsbeheer.”
Data Warehouse Automation is bedacht als een oplossing om de ontwikkelcyclus van Data Warehouse omgevingen te versnellen en te automatiseren door:
DATA WAREHOUSE AUTOMATION ALS OPLOSSING
Weinig ondernemingen zullen een one size fit all-oplossing claimen voor alle uitdagingen van Data Warehouse-implementaties. Een aantal van de genoemde problemen zijn gerelateerd aan het feit dat een Data Warehouse aan een specifiek concept gekoppeld is, dat niet alle mogelijke platforms ondervangt. Toch is er een reden, dat veel van de genoemde problemen wel getackeld kunnen worden. Die reden is Data Warehouse Automation. Laten we kijken in hoeverre dit concept de eerder genoemde problemen het hoofd kan bieden.
INHERENTE UITDAGINGEN
1. Kosten – Data Warehouse-projecten worden in kosten verlaagd omdat tijdrovende taken zoals coderen, foutopsporing, documenteren, in kaart brengen en modelleren in hoge mate worden geautomatiseerd. Dit bespaart zowel tijd als geld.
2. Doorlooptijd – Ontwikkeling op een Data Warehouse duurt vaak veel langer dan begroot. Experts wijten dit vaak aan de watervalbenadering die doorgaans wordt gebruikt, waardoor er veel tijd wordt besteed aan de analyse en de bouw. Hierdoor zijn tegen de tijd dat een ‘build’ voltooiing nadert de ‘requirements’ al veranderd. Dit veroorzaakt vertragingen omdat deze wijzigingen vervolgens moeten worden meegenomen in het ontwerp en de uiteindelijke bouw.
Natuurlijk zou men dan kunnen voorstellen een meer agile aanpak toe te passen, maar dit is niet zo eenvoudig als het klinkt. Data Warehouse-ontwikkeling kan namelijk niet makkelijk worden opgesplitst in kleine brokken die kunnen worden omgezet in work items die aan sprints zijn toegewezen. Het is daarom cruciaal om een manier te vinden om de duur van de ontwikkelcyclus te verkorten. Data Warehouse Automation biedt een hands-on aanpak die dit doet.
Een architectuur, die daarbij aansluit is die van de Data Vault. Deze maakt het mogelijk om flexibel en agile te ontwikkelen en op deze wijze met korte ontwikkelcycli te werken. WhereScape, een belangrijke speler op de Data Warehouse Automation markt, biedt met zijn WhereScape 3D product de mogelijkheid om Data Vaults te modelleren en de bijbehorende objecten in één keer automatisch te laten genereren.
3. Change Management – Data Warehouse change management is van oudsher om verschillende redenen een zeer tijdrovende praktijk. Als processen mislukken is het tijdrovend om te detecteren wat er mis ging en waar. Als geplande wijzigingen moeten worden doorgevoerd, is het veel werk om vooraf een diepgaande impactanalyse uit te voeren.
De meeste Data Warehouse Automation-tools hebben modelleringsfaciliteiten en ondersteuning voor gewijzigde dimensietypen 1 – 3, wat van vitaal belang is bij het implementeren van processen voor het vastleggen van gewijzigde gegevens. Sommige leveranciers, zoals WhereScape, bieden ook Data Lineage-mogelijkheden, waardoor het veel gemakkelijker is om impactanalyses uit te voeren. De meeste leveranciers maken de automatisering van ETL-verwerking mogelijk en sommige hebben zelfs Data Profiling functionaliteit, wat erg handig is wanneer nieuwe bronnen moeten worden ontsloten.
4. ETL-proces – Met Data Warehouse-Automation kunnen ETL-processen worden gestandaardiseerd en geautomatiseerd. Dit heeft als resultaat dat er veel minder, of zelfs geen handmatige SQL-codering nodig is. Het mappen van data en de transformatie ervan wordt binnen de oplossing ondersteund.
ETL-processen (of ELT in de cloud) die zorgen voor data-extractie, datatransformatie en laden van de data zijn vaak erg complex en onhandelbaar in die zin, dat het vaak nauwelijks vanzelfsprekend is wat er waar gebeurt en hoe het wordt bereikt.
Data Warehouse Automation biedt mogelijkheden om ook op ETL gebied taken, die vaak uitputtend herhaald moeten worden, te automatiseren, zodat bijvoorbeeld een hele systeemlaag in één keer gegenereerd kan worden.
5. Ontwikkelstandaarden – Het gebrek aan ontwikkelstandaarden kan in de loop van de tijd zeer schadelijk zijn voor het ontwikkelproces en ernstige vertraging en kostenoverhead veroorzaken. Data Warehouse Automation standaardiseert de meeste aspecten van ontwikkeling, waardoor veel van de traditionele handmatige codering wordt verminderd en idealiter helemaal uit de Data Warehouse-implementatie wordt geweerd. Wanneer veranderingen in een ontwikkelteam plaatsvinden, is het duidelijk dat bij het volgen van een standaard dit soort overgangen veel soepeler en sneller verloopt.
6. Best Practices – Gekoppeld aan het volgen van een standaard is natuurlijk dat best practices kunnen worden geïntroduceerd, waardoor iedereen een bepaalde aanpak volgt zoals onderhouden met de Data Warehouse Automation tool, waarvan de ervaring leert, dat die het optimale pad naar succes bieden.
7. Documentatie – Een gebrek aan documentatie, indien al aanwezig, bemoeilijkt een typische Data Warehouse-implementatie en hier is waar Data Warehouse Automation ingrijpt, door het maken van documentatie dynamisch en volledig te automatiseren, dus zelfs wanneer er wijzigingen plaatsvinden, wordt de documentatie met een druk op de knop bijgewerkt.
8. Tribal Knowledge – Kennis over het Data Warehouse is vaak bij slechts een kleine groep bekend. Het is een veel voorkomend effect van het ontbreken van documentatie, aangezien dit resulteert in een situatie waarin informatie, niet opgeschreven, slechts bij enkelen bekend is en niet op een bredere, laat staan bedrijfsbrede, basis wordt gedeeld. Een gevolg van deze situatie is, dat wanneer iemand van die selecte groep om welke reden dan ook wegvalt, het daardoor ontstane probleem vrijwel meteen de continuïteit in gevaar brengt.
Het is daarom van cruciaal belang dat elk onderdeel van het systeem kan worden gedeeld met een zo breed mogelijk publiek dat effectief en noodzakelijk wordt geacht om de continuïteit te waarborgen. Door een centrale repository in de Data Warehouse Automation tool kan kennis eenvoudig gedeeld worden en wordt afhankelijkheid van een beperkte groep experts vermeden.
EVOLUTIONAIRE UITDAGINGEN
1. Hoge datavolumes – Datavolumes nemen natuurlijk steeds in omvang toe en als zodanig een uitdaging voor elk end-to-end dataplatform, waarbij het Data Warehouse geen uitzondering is.
De manier waarop hier traditioneel mee wordt omgegaan in een Data Warehouse omgeving, is door over te schakelen van het volledig naar incrementeel laden. Het probleem daarmee is dat incrementeel laden veel handmatige codering vereist in verschillende systeemlagen, bijvoorbeeld als het incrementeel laden moet worden uitgevoerd, is het essentieel op elk typisch traditioneel batchproces om de te laden gegevens te vergelijken met de bestaande gegevens in het Data Warehouse, zodat alleen bijgewerkte, verwijderde en nieuwe records worden geladen. Dit vereist veel codering, meestal vrij complexe CDC -processen (Change Data Capture).
Data Warehouse Automation biedt een geautomatiseerde manier om dit te doen.
2. Veranderende bedrijfsbehoeften – De behoeften van ondernemingen zijn in de loop van de tijd veel veranderd. In het verleden had een onderneming een bak standaardrapporten en wanneer ze een extra rapport nodig hadden, kreeg IT een wijzigingsverzoek en een paar weken later, als ze geluk hadden, kreeg de business haar nieuwe rapport.
Tegenwoordig is deze situatie ondenkbaar en moet de business middelen hebben om het grootste deel van de tijd zelf op zoek te gaan naar haar antwoorden op ad-hoc vragen en dus werden Analytics-omgevingen gecreëerd waar belanghebbenden, soms na enige training in de gekozen BI-tool, konden spelen in de data-sandbox die hen werd aangeboden en geavanceerde dashboards konden maken die gemakkelijk konden worden gedeeld via portals die toegankelijk waren voor geselecteerde gebruikers en zelfs, indien gewenst, met geïnteresseerden buiten de onderneming.
Data Warehouse omgevingen worden meestal gemodelleerd om in deze behoefte te voorzien door er een abstractielaag bovenop te hebben, die kan worden aangeboden aan een bepaalde analysetool. Soepele integratie met deze abstractielaag is geen vanzelfsprekendheid, afhankelijk van de gekozen tool, en er gaat veel tijd zitten in het modelleren en ontwerpen aan de datawarehouse-kant.
Data Warehouse Automation-tools bieden vaak verschillende manieren om te integreren met verschillende BI-tools, meestal door een semantische laag geautomatiseerd te genereren.
3. Big Data – Big Data is een probleem voor Data Warehouse omgevingen, maar niet noodzakelijk voor Data Warehouse Automation. Een Data Warehouse is door zijn ontwerp gericht op gestructureerde data, dus in principe ongeschikt voor ongestructureerde data, omdat het daar nooit voor bedoeld was. Het doel van een Data Warehouse is aan de basis om gegevens uit verschillende bronnen te verzamelen en deze aan elkaar te relateren voor analytische doeleinden. Ongestructureerde gegevens sluiten naar hun aard uit dat ze aan andere bronnen worden gerelateerd, anders zouden ze niet ongestructureerd zijn, dus dient het een heel ander doel.
Er bestaan wel hybride architecturen, het Big Data Warehouse genaamd, die een brug slaan tussen de twee werelden, maar het zou ver buiten het bestek van deze blog liggen om dit hier te bespreken. Sommige Data Warehouse Automation tools, zoals WhereScape, bieden ondersteuning voor Big Data omgevingen en kunnen dus ook op dat gebied van dienst zijn.
4. Gegevens streamen – Data Warehouse omgevingen die de ontvangers zijn van streaming data zijn allang gerealiseerd en ja, dit platform heet het Streaming Data Warehouse. Er zijn Data Warehouse Automationtools, zoals WhereScape die deze architectuur ook ondersteunen.
5. Cloud – Cloud Data Warehouse omgevingen bestaan al een paar jaar. Snowflake bijvoorbeeld is er een van. Voor een Data Warehouse Automation tool wordt dit relatief nieuwe platform al ondersteund en kan worden onderhouden.
KLAAR IS KEES?
Kunnen we dus concluderen dat het wonder van Data Warehouse Automation alle twijfels over de levensvatbaarheid van Data Warehouse-omgevingen kan wegnemen? Waarschijnlijk niet, maar het pakt wel de meest notoire klachten en uitdagingen aan die vaak op tafel worden gelegd.
Het lijkt waarschijnlijk dat enige evangelisering nog steeds nodig is voordat bedrijven ervan overtuigd zijn dat dit de manier is om door te gaan. Data Warehouse oplossingen zullen in de toekomst net zo belangrijk blijven voor een onderneming als ze altijd al zijn geweest. Data Warehouse omgevingen dragen significant bij aan de kwaliteit en winstgevendheid van een onderneming door het aanbieden van hoogwaardige analyses die het bedrijf nodig heeft, in een structuur gevat, die sterk is geoptimaliseerd om dit te ondersteunen.
Data Warehouse Automation zorgt ervoor dat de productiviteit en kwaliteit van het werk van Data Warehouse ontwikkelaars verhoogt, standaardiseert en automatiseert volgens de eisen die de moderne tijd aan een volwassen Data Platformen stelt.