Beslutsstöd

Skrivet 2017-04-06

Det första datalager man bygger är ofta en klassisk stjärna med några mätvärden och dimensioner, ett s.k. data mart. Efterhand brukar fler behov dyka upp och man inser att det vore bra att ha ett grunddatalager där man kan samla företagets all relevanta information, ett s.k. Enterprise Data Warehouse (EDW). Ett EWD är inte tänkt att användas direkt för analys, utan bara för att föda data marts och andra system med data. Två svårigheter brukar uppstå när man ska skapa ett EWD. Det första är att skapa en logisk datamodell. Hur ska t.ex. en kund se ut? Att komma överens om detta kan ta lång tid. Den andra svårigheten är sedan att implementera denna logiska modell i en fysisk modell. Både ett stjärnschema (dimensionsmodell) och en klassisk relationsmodell (3NF) är dåliga på klara förändringar som kan uppstå när ett källsystem byts eller tillkommer. Det finns tekniker som hanterar detta, som t.ex. Data Vault eller en ankarmodell, men dessa är tämligen komplicerade och kräver mycket erfarna dataarkitekter.

 

Ett sätt att komma runt dessa svårigheter är att lagra data i råformat, i den form de levereras från källsystemen. Datamodellen blir då mycket enkel, en kopia av strukturen för indata. Även ETL-koden blir enkel att bygga eftersom det i princip bara blir kopiering av data. Rålagret går snabbt att få till och blir billigt att underhålla. Kanske behöver visst data inte ens lagras i en SQL-databas. Hadoop har börjat bli ett populärt alternativ. En liten nackdel med ett rålager är att det blir lite svårare att skapa ett nytt data mart, varje mart måste bygga upp egen logik för vad t.ex. en kund är. Men ofta är varje mart bara intresserad av en liten delmängd av allt data, så problemet blir inte så stort i praktiken. Istället vinner man i flexibilitet, man kan snabbt införa de förändringar man behöver för analys. I enkla fall behöver ett mart inte ens vara fysiskt, utan kan bestå av enbart vyer mot rålagret.

 

En annan risk är att data tolkas på olika sätt i olika mart och man får inte en ”single version of the truth”. Men det är kanske inte alltid önskvärt. I ett HR-perspektiv ska antagligen en fysisk person uppträda som en individ, men vid projektplanering kanske en person med flera roller ska uppträda i fler skepnader. Med ett rålager så finns förutsättningarna för att få överenstämmelse där man så önskar, eftersom alla utgår från samma grunddata. Det går också att skapa hybrider av ett rålager och ett EWD. Har man väldefinierat masterdata, t.ex. kunder, organisation, produkter, kan det vara lämpligt att lagra dessa i ett EWD medan annat data bara finns i rålagret.