Blir det många joins och tungt att köra när man modellerar enligt Data vault?

Data vault har en skiktad arkitektur. Därför får frågan två svar beroende på i vilket arkitekturellt skikt du jobbar.

1. Om du jobbar med att skapa ETL/SQL för att bygga en Data Mart/Star Schema från ditt Data vault skikt så är det inte så. Detta på grund av att Data vault lösningar modelleras enligt de affärsnycklar ert företag jobbar med. Det innebär att bygga, t ex en Kunddimension så kommer du endast hämta data från ”KundHuben” och dess satelliter. Vilket praktiskt innebär att man joinar ca 2-5 tabeller via en primärnyckel. Mycket snabbt och mycket effektivt. Faktatabeller byggs oftast utifrån Länkar(Links) där data gällande en interaktion mellan två eller flera ämnesområden lagras, precis som en faktatabell fungerar. Det innebär också få joinar med bra primärnycklar. Data vault design ger dig möjlighet att med en kirurgisk precision skapa ditt rapporteringsskikt.

2. Om du jobbar med att bygga rapporter och analystiska sql:er som rör sig över flera ämnesområden, t ex kund, avtal, produkt inom samma SQL så blir det många joins som vandrar över olika primärnycklar och byter index etc, det blir helt enkelt ganska tungt för optimizern i databasen att hantera.

Det är därför vi rekommenderar att man bygger ett rapporteringsskikt ovan Data vault skiktet, både för att skapa SQL prestanda för rapporter men också för att kunna hantera analysunika rapporteringsregler så långt upp i informationsflödet som möjligt och behålla informationen i Data vault skiktet så affärsgenerell som möjligt och därför återanvändbar i många olika analytiska applikationer.