Arkitektur och Automation
När man bygger sina datalager så bör man ha ett tänk som mynnar ut i en arkitektur för hur saker ska byggas ihop.
Arkitekturen ska ge svar på frågor, som kan vara:
- Hur ska vi landa data?
- Hur ska vi ha spårbarhet, loggning, metadata, återstartbarhet, CDC?
- Hur ska vi staga data?
- Hur ska vårt datalager modelleras?
- Hur ska våra Data Marts se ut?
- Hur ska slutanvändarna konsumera data?
- Livslängd på data, arkivering?
- Realtid, nästan realtid?
- Hur och vem skall drifta en lösning?
- Verktyg, miljöer?
- Skalbarhet, batchkörningar?
- Återanvändning av befintliga datalager?
Många av frågorna är komplexa och behöver hanteras av många olika kompetenser. Andra frågor är intressanta för de kan man angripa på olika sätt.
Jag vill ta upp en sak som idag nästan är ett krav när kraven på förändringsbarhet och agila arbetssätt står högt på agendan, och det är automation.
Automation innebär att vi på olika sätt automatiserar de delar som inte innehåller komplex affärslogik.
Vi ska alltså lägga tid på de delar i processen som är värdeskapande och inte de delar som bara är en "rak" flytt av data.
Om vi tittar närmare på ETL-processen så kan vi definiera en arkitektur som säger att vi skall hämta och landa data i oförändrad form (E).
Vår stage-del (T) där vi applicerar affärsregler, tvättar/manglar och omvandlar data till DW-format.
Laddningen (L) till vårt DW och våra eventuella DataMarts.
E-delen bör sakna annan logik än att lägga på s.k. tekniska kolumner (vi klär på informationen med DW-specifika kolumner, exvis BatchID mm). Här kan vi automatisera i hög grad.
T-delen är den komplexa delen där vi skall applicera huvuddelen av våra affärsregler. Det kan vara svårt att automatisera i någon högre grad i detta steg.
L-delen bör vara en relativt rak flytt in till DW/DM så här kan vi automatisera.
Automatiseringen kan lösas med hjälp av mallar, metadatastyrning eller genererad T-SQL/SSIS-paket.
Vi kan bygga upp kod, mallar och metadata i ett eget framework. Här finns möjligheten att helt själv få det som just vi vill ha
Vi kan använda oss av metadata i kombination med BIML och generera alla våra SSIS-paket, stored procedures mm.
Vi kan använda ett verktyg där vi modellerar våra objekt och genererar ut kod som skapar objekt (tabeller, procedurer, kuber, jobb mm). Wherescape är ett fantastiskt verktyg för det, men det finns andra. Quipu är ett alternativ som har en s.k Free Edition.
Är du i Göteborg den 19 mars, så har du tillfälle att se hur Wherescape kan hjälpa dig bygga klart ditt DW snabbt och enkelt. Annars kan du läsa mer om verktyget här
Quipu, läs mer här
BIML, ladda ner SSIS-komponent här
En massa BIML-script finns här
och här kan du läsa mer om Varigence som har en helhetslösning.
Lycka till med din Arkitektur och Automation!