Data Vault

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Data Vault – technika modelowania danych (w hurtowniach danych) zaprojektowana tak, aby zapewnić przechowywanie danych historycznych z wielorakich systemów operacyjnych (źródłowych). Data Vault oznacza również, obok aspektu modelowania, sposób patrzenia na dane historyczne, który zapewnia audytowalność, śledzenie danych, szybkość ładowania oraz odporność na zmiany biznesowe.

Modelowanie Data Vault skupia się na wielu rzeczach. Po pierwsze, podkreśla potrzebę śledzenia źródła pochodzenia wszystkich danych w hurtowni (możemy prześledzić skąd pochodzi każda dana w systemie). Po drugie, nie wprowadza rozróżnienia na "dobre" i "złe" dane w sensie zgodności z regułami biznesowymi (ładowane są wszystkie dane) prowadząc do "jednej wersji faktów" (w przeciwieństwie do "jednej wersji prawdy" w ujęciu CIF Inmona). Reguła ta jest również wyrażona przez twórcę DV Dana Lindstedta jako "wszystkie dostępne dane z całego okresu". Po trzecie, metoda ta została zaprojektowania aby być odporną na zmiany w środowisku biznesowym, z którego pochodzą przechowywane w modelu dane. Osiągnięte jest to poprzez jawne odseparowanie informacji strukturalnej od atrybutów opisowych. W końcu, metoda Data vault została zaprojektowana, aby umożliwić w jak największym zakresie równoległe ładowanie danych zwiększając tym samym skalowalność i możliwość implementacji dla bardzo dużych modeli.

Podstawowe pojęcia[edytuj | edytuj kod]

Hub[edytuj | edytuj kod]

Hub zawiera listę unikalnych kluczy biznesowych (o małej podatności na zmianę). Hub zawiera również klucz sztuczny (surrogate key) oraz metadane opisujące pochodzenie klucza (system źródłowy). Atrybuty opisowe (takie jak opis klucza) są przechowywane w satelitach.

Link[edytuj | edytuj kod]

Powiązania lub transakcje pomiędzy kluczami biznesowymi (wiążące, na przykład, huba Klient z hubem Produkt poprzez transakcję Sprzedaż) są modelowane za pomocą tabel linków. Tabele takie są tabelami wiele-wielu z dodatkowymi danymi.

Satelity[edytuj | edytuj kod]

Huby i linki tworzą strukturę modelu, ale nie przechowują zmiennych w czasie atrybutów ani atrybutów opisowych. Te przechowywane są w oddzielnych tabelach zwanych satelitami. Tabele te zawierają metadane wiążące je z rodzicem, którym może być Hub lub Link oraz metadane opisujące pochodzenie powiązania oraz atrybutów oraz daty od kiedy do kiedy obowiązywały dane atrybuty.

Linki zewnętrzne[edytuj | edytuj kod]