Schemat płatków śniegu vs. Schemat gwiazdy

Schemat płatków śniegu vs. Schemat gwiazdy

Wybierając schemat bazy danych dla hurtowni danych, płatek śniegu I Schematy gwiazd zwykle są popularnymi wyborami. To porównanie omawia przydatność gwiazdy vs. schematy płatków śniegu w różnych scenariuszach i ich cechach.

Wykres porównania

Schemat płatka śniegu w porównaniu do schematu gwiazd
Schemat płatka śnieguSchemat gwiazdy
Łatwość konserwacji / zmiany Brak redundancji, więc schematy płatków śniegu są łatwiejsze w utrzymaniu i zmianie. Ma zbędne dane, a zatem mniej łatwe w utrzymaniu/zmianie
Łatwość użycia Bardziej złożone zapytania, a zatem mniej łatwe do zrozumienia Niższa złożoność zapytania i łatwa do zrozumienia
Wydajność zapytania Więcej kluczy zagranicznych, a zatem dłuższy czas wykonywania zapytania (wolniej) Mniejsza liczba klawiszy zagranicznych, a tym samym krótszy czas wykonywania zapytania (szybszy)
Rodzaj DataWarehouse Dobry w użyciu dla DataWarehouse Core w celu uproszczenia złożonych relacji (wiele: wiele) Dobry dla danych z prostymi relacjami (1: 1 lub 1: wiele)
Dołącza Większa liczba połączeń Mniej dołącza
Tabela wymiarowa Schemat płatków śniegu może mieć więcej niż jeden tabelę wymiarów dla każdego wymiaru. Schemat gwiazdy zawiera tylko tabelę jednorazową dla każdego wymiaru.
Kiedy użyć Gdy stół wymiarowy jest stosunkowo duży, prążkowanie śniegu jest lepsze, ponieważ zmniejsza przestrzeń. Gdy tabela wymiarów zawiera mniejszą liczbę wierszy, możemy wybrać schemat gwiazdy.
Normalizacja/ de-normalizacja Tabele wymiarowe są w postaci znormalizowanej, ale tabela faktów jest w postaci de-znormalizowanej Zarówno tabele wymiarów, jak i faktów są w postaci de-znormalizowanej
Model danych Podejście oddolne Podejście odgórne

Przykłady

Rozważ bazę danych dla sprzedawcy, który ma wiele sklepów, a każdy sklep sprzedaje wiele produktów w wielu kategoriach produktów i różnych marek. Hurtownia danych lub Mart danych dla takiego sprzedawcy musiałby zapewnić analitykom możliwość uruchamiania raportów sprzedaży zgrupowanych według sklepu, daty (lub miesiąca, kwartału lub roku) lub kategorii produktu lub marki.

Przykład schematu gwiazdy

Gdyby te dane Mart korzystał z schematu gwiazd, wyglądałby w następujący sposób:

Przykład schematu gwiazdy

Tabela faktów byłaby rekordem transakcji sprzedaży, podczas gdy istnieją tabele wymiarów dla daty, sklepu i produktu. Każde tabele wymiarowe są podłączone do tabeli faktów za pomocą ich klucza podstawowego, który jest kluczem obcego dla tabeli faktów. Na przykład, zamiast przechowywać faktyczną datę transakcji z rzędu tabeli faktów, DATE_ID jest przechowywany. Ten data_dys odpowiada unikalnemu wierszowi w tabeli DIM_DATE, a ten wiersz przechowuje także inne atrybuty daty wymagane do grupowania w raportach. mi.G., Dzień tygodnia, miesiąca, ćwierć roku i tak dalej. Dane są denormalizowane w celu łatwiejszego zgłaszania.

Oto, w jaki sposób można uzyskać raport o liczbie telewizorów sprzedawanych przez markę i kraj.

Przykład schematu płatka śniegu

Ten sam scenariusz może również użyć schematu płatków śniegu, w którym to przypadku byłby skonstruowany w następujący sposób:

Przykład schematu płatków śniegu (kliknij, aby powiększyć)

Główną różnicą w porównaniu ze schematem gwiazd jest to, że dane w tabelach wymiarów są bardziej znormalizowane. Na przykład, zamiast przechowywać miesiąc, ćwierć i dzień tygodnia w każdym rzędzie tabeli DIM_DATE, są one dodatkowo podzielone na własne tabele wymiarów. Podobnie dla tabeli DIM_store, państwo i kraj są atrybutami geograficznymi, które są usunięte o jeden krok - zamiast przechowywać w tabeli DIM_store, są teraz przechowywane w osobnej tabeli DIM_GEAGHIGI.

Ten sam raport - liczba telewizorów sprzedawanych według kraju i marki - jest teraz nieco bardziej skomplikowana niż w schemacie gwiazd:

Zapytanie SQL w celu uzyskania liczby produktów sprzedawanych według kraju i marki, gdy baza danych wykorzystuje schemat płatków śniegu.