
Det pratas mycket om Data Warehouse Automation, förkortat DWA. Men vad är det egentligen och framförallt – hur kan det hjälpa dig? Och vad är bra att tänka på när du ska välja ett DWA-verktyg? Här ger vi dig svaret på dessa, och en del andra frågor kring automatisering av datalager. Häng med!
Som så ofta finns det många olika definitioner, men en är att DWA omfattar alla kärnprocesser för datalagring inklusive design, utveckling, testning, implementering, drift, konsekvensanalys och förändringshantering. Forrester definierar DWA som: ”… programvara som automatiskt genererar ett datalager genom att analysera data själva och tillämpa bästa praxis för DW-design inbäddad i tekniken. Ett annat namn för denna typ av teknik är ”metadata-genererad analys”.
Datalager är alltjämt en extremt användbar metod för hantering av information. Problemet har varit upplevelsen att det tar för lång tid att bygga ett datalager och att slutresultatet inte är tillräckligt flexibelt. Detta har lett till mycket frustration, och det är här DWA kommer in. Data Warehouse Automation snabbar helt enkelt upp utvecklingen och förenklar underhållet av datalager.
För den tekniskt intresserade så inkluderar DWA-automatisering av följande delar:
Det är möjligt att manuellt skapa skript som genererar kod och därigenom automatisera processerna för Build, Deploy and Run. Men generellt sker automatiseringen med hjälp av ett DWA-verktyg. Fördelar som DWA kan leverera är utforskning av källdata, ETL-generering, testautomatisering, datamodeller metadatahantering, hanterad implementering, schemaläggning, automatisk dokumentation, underhåll och modifiering av datalagret.
Men viktigare än de tekniska egenskaperna hos DWA-verktygen är som sagt möjligheten att leverera datalager-projekt snabbare, och med mindre resurser.
Ett datalagers livscykel inkluderar bland annat modellering, mappning, utveckling, testning och förändringshantering. Grundtanken är att DWA ska inkludera datalagrets hela livscykel, vilket illustreras i följande modell:
När det gäller DWA-verktygens design finns två olika generella angreppssätt. Det första är en modelldriven strategi, den andra ett datadrivet tillvägagångssätt.
Att du designar dina modeller med verksamheten som utgångspunkt, och när modellerna är godkända söker du efter källdata och importerar dem till den representativa modellen.
Det är troligt att du bara använder de data du behöver.
Affärsbehoven dokumenteras tydligt.
Kan vara långsamt eftersom du behöver ha många insatser från verksamheten som kan vara utmanande och långsamma, exempelvis i större företag.
Kan vara svårt att synkronisera modellen med den fysiska modellen.
Kan ha felaktiga förväntningar eftersom du kan modellera ett dimensionskoncept men i slutet har du inte data tillgängliga.
Att du snabbt genererar en modell med de data som finns tillgängliga. Metoden blir också ett sätt att kommunicera med verksamheten, genom att snabbt visa slutresultatet med ett BI-verktyg.
Du bara arbetar med data som faktiskt finns där och företaget har redan en verklig modell som representerar data och kan utvecklas. Detta passar mycket bra med den smidiga metoden för DWA-verktyg.
Det visar inte på ett enkelt sätt, regler eller dataförhållande mellan modellen och verkliga källdata till verksamheten.
Dagens DWA-verktyg finns på en skala mellan de två olika angreppssätten. En del verktyg är helt modelldrivna medan andra är helt datadrivna. Det finns dock även de som är en blandning av de två och då bygger designprocessen på en kombination av modeller och data.
Det finns ytterligare en dimension när det gäller DWA-verktyg och det är innehåll. I grunden är ett DWA ”bara” ett verktyg som genererar kod, tabeller, vyer osv. Men genom att lägga till ett förkonfigurerat innehåll, ofta kallat modeller, så ökar värdet av ett DWA-verktyg ytterligare.
Genom förkonfigurerade modeller går det att skapa ett datalager ännu snabbare och effektivare. Förkonfigurerade modeller kan vara baserade på olika grunder t.ex. ett specifikt källsystem, ett vedertaget starschema eller kanske en kombination av det två.
Förkonfigurerade modeller bygger ofta på någon form av standard eller normalläge, och man får därför räkna med att de behöver justeras något för att passa just din verksamhet. Trots detta så är det ett snabbt och effektivt sätt att komma igång med ett datalager. Det inbjuder också till en iterativ utvecklingsprocess.
Det finns idag en mängd DWA-verktyg på marknaden. Allt från verktyg som i stort sett är en kodgenerator som genererar kod och inget mer, till avancerade verktyg som innehåller funktioner för dokumentation, övervakning, möjlighet att följa processerna och flödet. Det som är viktigt att tänka på när du väljer DWA-verktyg är att verktyget inte bara ska generera en bra kod. Verktyget ska också ge dig en bra översikt av ditt datalager och relationerna mellan objekten i datalagret. Finns det dessutom förkonfigurerade modeller så ger det ytterligare mervärde då det bidrar till en snabbare implementation av ditt datalager.
Trots att det finns många verktyg på marknaden har vi på Advectas sett att det saknas bra alternativ, och vi har därför själva utvecklat ett DWA-verktyg under ett eget varumärke – Xencian.
Xencian Data Warehouse Automation bygger på en metadata-driven design. Med Xencian DWA importeras metadata, alternativt förses verktyget med en färdig metadatamodell från ett eller flera källsystem. Sedan modelleras datalagret i ett grafiskt gränssnitt istället för att skriva kod. Fördelen med detta är att användaren ser dataflödet grafiskt, och kan följa varje operation som görs på vägen. Systemet är också självdokumenterande, så det blir enkelt att underhålla och felsöka. Dessutom genererar Xencian DWA ETL-paketen automatiskt från den grafiska modellen, och mjukvaran optimeras genom parallellisering för att åstadkomma så effektiv laddning av data som möjligt.
Med ett bra DWA-verktyg implementerar du ett datalager snabbare, med mindre resurser och gör dig samtidigt kvitt personberoende samt förenklar underhåll och framtida förändringsarbete.
Finns det dessutom förkonfigurerade modeller så ger det ytterligare mervärde och en ännu snabbare implementation av ditt datalager.