Schemat gwiazdy - Star schema

W obliczaniu The schema gwiazda to najprostszy styl mart dane schematu i jest najpowszechniej stosowanym podejściem do rozwoju hurtowni danych i wymiarowe zbiorczych baz danych. Schemat gwiaździsty składa się z co najmniej jednej tabeli faktów odwołującej się do dowolnej liczby tabel wymiarów . Schemat gwiaździsty jest ważnym szczególnym przypadkiem schematu płatka śniegu i jest bardziej efektywny w przypadku obsługi prostszych zapytań.

Nazwa schematu gwiazdy pochodzi od podobieństwa modelu fizycznego do kształtu gwiazdy z tabelą faktów pośrodku i otaczającymi go tabelami wymiarów reprezentującymi punkty gwiazdy.

Model

Schemat gwiaździsty rozdziela dane procesu biznesowego na fakty, które zawierają mierzalne, ilościowe dane o firmie oraz wymiary, które są opisowymi atrybutami powiązanymi z danymi faktów. Przykłady faktów obejmują cenę sprzedaży, ilość sprzedaży oraz pomiary czasu, odległości, prędkości i wagi. Przykłady atrybutów powiązanych wymiarów obejmują modele produktów, kolory produktów, rozmiary produktów, lokalizacje geograficzne i nazwiska sprzedawców.

Schemat gwiaździsty, który ma wiele wymiarów, jest czasami nazywany schematem stonogi . Mając wymiary tylko kilku atrybutów, a jednocześnie jest prostszy w utrzymaniu, daje wyniki w zapytaniach z wieloma sprzężeniami tabel i sprawia, że ​​schemat gwiaździsty jest mniej łatwy w użyciu.

Tabele faktów

Tabele faktów rejestrują pomiary lub metryki dla określonego zdarzenia. Tabele faktów zazwyczaj składają się z wartości liczbowych i kluczy obcych do danych wymiarowych, w których przechowywane są informacje opisowe. Tabele faktów są zaprojektowane z myślą o niskim poziomie ujednoliconych szczegółów (nazywanych „ziarnistością” lub „ziarnistością”), co oznacza, że ​​fakty mogą rejestrować zdarzenia na bardzo atomowym poziomie. Może to spowodować nagromadzenie dużej liczby rekordów w tabeli faktów w czasie. Tabele faktów są zdefiniowane jako jeden z trzech typów:

  • Tabele faktów transakcji rejestrują fakty dotyczące określonego zdarzenia (np. zdarzeń sprzedaży)
  • Tabele faktów migawkowych rejestrują fakty w danym momencie (np. szczegóły konta na koniec miesiąca)
  • Zgromadzone tabele migawek rejestrują zagregowane fakty w danym momencie (np. łączną sprzedaż produktu od początku miesiąca)

Tabele faktów są zazwyczaj przypisane do klucza zastępczego, aby zapewnić, że każdy wiersz może być jednoznacznie zidentyfikowany. Ten klucz jest prostym kluczem podstawowym.

Tabele wymiarów

Tabele wymiarów zwykle zawierają stosunkowo małą liczbę rekordów w porównaniu z tabelami faktów, ale każdy rekord może mieć bardzo dużą liczbę atrybutów opisujących dane faktów. Wymiary mogą definiować wiele różnych cech, ale niektóre z najczęstszych atrybutów definiowanych przez tabele wymiarów obejmują:

  • Tabele wymiarów czasowych opisują czas na najniższym poziomie szczegółowości czasu, dla którego zdarzenia są rejestrowane w schemacie gwiazdy
  • Tabele wymiarów geograficznych opisują dane lokalizacji, takie jak kraj, stan lub miasto
  • Tabele wymiarów produktów opisują produkty
  • Tabele wymiarów pracowników opisują pracowników, takich jak sprzedawcy
  • Tabele wymiarów zakresów opisują zakresy czasu, wartości w dolarach lub inne mierzalne wielkości w celu uproszczenia raportowania

Tabele wymiarów zazwyczaj mają przypisany zastępczy klucz podstawowy , zwykle jednokolumnowy typ danych liczb całkowitych, mapowany na kombinację atrybutów wymiaru, które tworzą klucz naturalny.

Korzyści

Schematy gwiaździste są zdenormalizowane , co oznacza, że ​​typowe zasady normalizacji stosowane do transakcyjnych relacyjnych baz danych są rozluźniane podczas projektowania i implementacji schematu gwiazdy. Korzyści z denormalizacji schematu gwiazdy to:

  • Prostsze zapytania — logika łączenia według schematu gwiazdy jest ogólnie prostsza niż logika łączenia wymagana do pobierania danych z wysoce znormalizowanego schematu transakcyjnego.
  • Uproszczona logika raportowania biznesowego — w porównaniu z wysoce znormalizowanymi schematami, schemat gwiaździsty upraszcza wspólną logikę raportowania biznesowego, taką jak raportowanie okresowe i na dzień.
  • Wzrost wydajności zapytań — schematy gwiaździste mogą zapewnić poprawę wydajności aplikacji raportujących tylko do odczytu w porównaniu z wysoce znormalizowanymi schematami.
  • Szybka agregacja — prostsze zapytania względem schematu gwiaździstego mogą skutkować lepszą wydajnością operacji agregacji.
  • Podawanie kostek — schematy gwiaździste są używane przez wszystkie systemy OLAP do wydajnego budowania zastrzeżonych kostek OLAP ; w rzeczywistości większość głównych systemów OLAP zapewnia tryb działania ROLAP , który może wykorzystywać schemat gwiaździsty bezpośrednio jako źródło bez budowania zastrzeżonej struktury kostki.

Niedogodności

Główną wadą schematu gwiaździstego jest to, że nie jest on tak elastyczny pod względem potrzeb analitycznych, jak znormalizowany model danych. Znormalizowane modele pozwalają na wykonanie dowolnego rodzaju zapytania analitycznego, o ile jest ono zgodne z logiką biznesową zdefiniowaną w modelu. Schematy gwiaździste są zwykle bardziej ukierunkowane na konkretny widok danych, przez co nie pozwalają na bardziej złożone analizy. Schematy gwiaździste nie obsługują łatwo relacji wiele-do-wielu między jednostkami biznesowymi. Zazwyczaj te relacje są uproszczone w schemacie gwiaździstym w celu dostosowania do prostego modelu wymiarowego.

Inną wadą jest to, że integralność danych nie jest dobrze egzekwowana ze względu na ich zdenormalizowany stan. Jednorazowe wstawki i aktualizacje mogą skutkować anomaliami danych, których unika się w znormalizowanych schematach. Ogólnie rzecz biorąc, schematy gwiaździste są ładowane w ściśle kontrolowany sposób poprzez przetwarzanie wsadowe lub „strumienie strumieniowe” w czasie zbliżonym do rzeczywistego, aby zrekompensować brak ochrony zapewnianej przez normalizację .

Przykład

Schemat gwiazdy używany przez przykładowe zapytanie.

Rozważ bazę danych sprzedaży, być może z sieci sklepów, sklasyfikowaną według daty, sklepu i produktu. Obraz schematu po prawej stronie to wersja schematu gwiazdy przykładowego schematu podanego w artykule dotyczącym schematu płatka śniegu .

Fact_SalesFaktem jest stół i tam są trzy tabele wymiarów Dim_Date, Dim_Storea Dim_Product.

Każda tabela wymiarów ma klucz podstawowy w swojej Idkolumnie, odnoszący się do jednej z kolumn (widocznych jako wiersze w przykładowym schemacie) Fact_Salestrzykolumnowego (złożonego) klucza podstawowego tabeli ( Date_Id, Store_Id, Product_Id). Units_SoldKolumna klucza innego niż podstawowy tabeli faktów w tym przykładzie reprezentuje miarę lub metrykę, której można użyć w obliczeniach i analizie. Nie-klucz podstawowy kolumny tabel wymiarów stanowią dalsze cechy wymiarów (takich jak Yearna Dim_Datewymiar).

Na przykład poniższe zapytanie odpowiada, ile telewizorów zostało sprzedanych dla każdej marki i kraju w 1997 roku:

SELECT
	P.Brand,
	S.Country AS Countries,
	SUM(F.Units_Sold)

FROM Fact_Sales F
INNER JOIN Dim_Date D    ON (F.Date_Id = D.Id)
INNER JOIN Dim_Store S   ON (F.Store_Id = S.Id)
INNER JOIN Dim_Product P ON (F.Product_Id = P.Id)

WHERE D.Year = 1997 AND  P.Product_Category = 'tv'

GROUP BY
	P.Brand,
	S.Country

Zobacz też

Bibliografia

Linki zewnętrzne