I den tidigare artikeln beskrev jag grunderna i DATA VAULT, de centrala elementen i DATA VAULT och deras syften. Ămnet DATA VAULT kan dock inte anses vara uttömt; vi mĂ„ste prata om nĂ€sta steg i evolutionen av DATA VAULT.
I denna artikel kommer jag att fokusera pÄ utvecklingen av DATA VAULT och övergÄngen till BUSINESS DATA VAULT eller helt enkelt BUSINESS VAULT.
Orsaker till att BUSINESS DATA VAULT uppstod.
Det Àr vÀrt att notera att, trots sina vissa styrkor, DATA VAULT inte Àr utan brister. En av dessa brister Àr svÄrigheten att skriva analytiska frÄgor. FrÄgorna har ett betydande antal JOIN:ar, vilket gör att koden blir lÄng och otymplig. Dessutom genomgÄr inte data som kommer in i DATA VAULT nÄgra omvandlingar, sÄ ur ett affÀrsperspektiv har DATA VAULT i sitt rena skick inget ovillkorligt vÀrde.
Just för att ÄtgÀrda dessa brister har metodologin DATA VAULT utvidgats med sÄdana element som:
- PIT (point in time) tabeller;
- BRIDGE tabeller;
- PREDEFINED DERIVATIONS.
LÄt oss gÄ igenom syftet med dessa element mer i detalj.
PIT tabeller
Som regel kan ett affÀrsobjekt (HUB) bestÄ av data med olika uppdateringsfrekvenser. Om vi till exempel talar om data som karakteriserar en person, kan vi sÀga att information om telefonnummer, adress eller e-post har en högre uppdateringsfrekvens Àn, lÄt oss sÀga, namn, passdata, civilstÄnd eller kön.
DÀrför, nÀr vi bestÀmmer satelliter, bör vi ha i Ätanke deras uppdateringsfrekvens. Varför Àr detta viktigt?
Om vi lagrar attribut med olika uppdateringsfrekvenser i samma tabell, mĂ„ste vi lĂ€gga till en rad i tabellen vid varje uppdatering av det oftast förĂ€ndrade attributet. Följaktligen â ökat behov av diskytelse och lĂ€ngre exekveringstid för frĂ„gorna.
Nu nÀr vi har delat satelliterna efter uppdateringsfrekvens, och kan ladda data i dem oberoende, bör vi sÀkerstÀlla att vi kan fÄ aktuella data. BÀttre utan att anvÀnda överflödiga JOIN:ar.
LÄt mig förklara, till exempel, att det krÀvs att fÄ aktuell (datum för senaste uppdatering) information frÄn satelliter med olika uppdateringsfrekvenser. För detta kommer det att krÀvas inte bara att göra en JOIN, utan Àven att skapa flera inbÀddade förfrÄgningar (till varje satellit som innehÄller information) med val av den senaste uppdateringsdatum MAX(Uppdateringsdatum). Med varje ny JOIN vÀxer en sÄdan kod och blir snabbt svÄr att förstÄ.
PIT-tabellen syftar till att förenkla sÄdana förfrÄgningar, PIT-tabeller fylls samtidigt som nya data skrivs in i DATA VAULT. PIT-tabell:

SĂ„ledes har vi information om aktuell datakvalitet för alla satelliter vid varje tidpunkt. Genom att anvĂ€nda JOINs till PIT-tabellen kan vi helt eliminera inbĂ€ddade förfrĂ„gningar, givetvis under förutsĂ€ttning att PIT fylls dagligen och utan avbrott. Ăven om det finns luckor i PIT kan aktuella data endast erhĂ„llas genom att anvĂ€nda en inbĂ€ddad förfrĂ„gan till sjĂ€lva PIT. En inbĂ€ddad förfrĂ„gan kommer att köras snabbare Ă€n inbĂ€ddade förfrĂ„gningar till varje satellit.
BRIDGE
Tabeller av BRIDGE-typ anvÀnds ocksÄ för att förenkla analytiska förfrÄgningar. Men skillnaden frÄn PIT Àr att de förenklar och pÄskyndar förfrÄgningar mellan olika hubbar, lÀnkar och deras satelliter.
Tabellen innehÄller alla nödvÀndiga nycklar för alla satelliter som ofta anvÀnds i förfrÄgningar. Dessutom, om sÄ krÀvs, kan hashade affÀrsnycklar kompletteras med nycklar i textformat, om namnen pÄ nycklarna behövs för analys.
Det Àr sÄ att utan anvÀndning av BRIDGE, i processen att hÀmta data frÄn satelliter som tillhör olika hubbar, kommer det att krÀvas att göra JOIN inte bara mellan satelliterna sjÀlva, utan ocksÄ mellan lÀnkarna som förbinder hubbarna.
TilstedevÊrelsen eller fravÊret av BRIDGE bestÀms av lagringskonfigurationen och behovet av att optimera hastigheten pÄ förfrÄgningar. Det Àr svÄrt att tÀnka sig ett universellt exempel pÄ BRIDGE.
PREDEFINED DERIVATIONS
En annan typ av objekt som nÀrmar oss BUSINESS DATA VAULT Àr tabeller som innehÄller förberÀknade indikatorer. SÄdana tabeller Àr verkligen viktiga för verksamheten, de innehÄller information som har aggregerats enligt angivna regler och möjliggör relativt enkel Ätkomst till den.
Arkitekturella PREDEFINED DERIVATIONS Àr inget annat Àn en ytterligare satellit av en viss hub. Den, precis som en vanlig satellit, innehÄller affÀrnyckeln och datumet för skapandet av posten i satelliten. Men hÀr slutar likheterna. Den ytterligare sammansÀttningen av attributen för en sÄdan "specialiserad" satellit bestÀms av affÀrsanvÀndarna baserat pÄ de mest efterfrÄgade, förhandsberÀknade indikatorerna.
Till exempel kan en hub som innehÄller information om en anstÀlld inkludera en satellit med sÄdana indikatorer som:
- Minimilön;
- Maximallön;
- Genomsnittlig lön;
- Ackumulerat resultat av den utbetalda lönen osv.
Det Àr logiskt att inkludera PREDEFINED DERIVATIONS i PIT-tabellen för denna hub, sÄ kan man enkelt fÄ datautdrag för anstÀllda pÄ ett specifikt valt datum.
SLUTSATSER
Som erfarenheten visar, Àr anvÀndningen av DATA VAULT av affÀrsanvÀndare nÄgot besvÀrlig av flera anledningar:
- FrÄgekoden Àr komplex och skrymmande;
- Ăverflödet av JOINs pĂ„verkar frĂ„gornas prestanda;
- För att skriva analytiska frÄgor krÀvs en utmÀrkt kunskap om lagrets struktur.
För att förenkla Ätkomsten till data, utvidgas DATA VAULT med ytterligare objekt:
- PIT (point in time) tabeller;
- BRIDGE tabeller;
- PREDEFINED DERIVATIONS.
I nÀsta Jag planerar att berÀtta om det mest intressanta, enligt min mening, för dem som arbetar med BI. Jag kommer att presentera sÀtt att skapa fakta- och dimensions-tabeller baserat pÄ DATA VAULT.
Materialen i artikeln Àr baserade pÄ:
- PÄ Kenta Graziano, dÀr det förutom detaljerade beskrivningar finns modeller;
- Boken: âBuilding a Scalable Data Warehouse with DATA VAULT 2.0â;
- Artikel .
KĂ€lla: habr.com
