Prilikom odabira sheme baze podataka za skladište podataka, pahuljica i zvijezde sheme imaju tendenciju da budu popularni izbori. Ova usporedba govori o prikladnosti shema zvijezda prema pahuljici u različitim scenarijima i njihovim karakteristikama.
Shema snježnih pahuljica | Zvjezdana shema | |
---|---|---|
Jednostavnost održavanja / promjena | Nema suvišnih podataka, pa je sheme snježnih pahuljica lakše održavati i mijenjati. | Ima suvišne podatke, a samim tim i manje lako ih se održava / mijenja |
Jednostavnost korištenja | Složenija pitanja, a time i manje lako razumljiva | Niža složenost upita i lako razumljiv |
Izvedba upita | Više stranih ključeva, a samim tim i dulje vrijeme izvršavanja upita (sporije) | Manji broj stranih ključeva, a samim tim i kraće vrijeme izvršenja upita (brže) |
Vrsta skladišta podataka | Dobro je koristiti za jezgru datawarehouse-a za pojednostavljenje složenih odnosa (mnogo: mnogo) | Pogodno za datamarts s jednostavnim odnosima (1: 1 ili 1: mnogo) |
pridružuje | Veći broj pridruživanja | Manje pridruživanja |
Tablica dimenzija | Shema snježne pahulje može imati više tablica dimenzija za svaku dimenziju. | Zvjezdana shema sadrži samo jednu dimenzijsku tablicu za svaku dimenziju. |
Kada koristiti | Kada je tablica dimenzija relativno velike veličine, pahuljice su bolje jer smanjuju prostor. | Kad tablica dimenzija sadrži manji broj redaka, možemo odabrati Star shemu. |
Normalizacija / denormalizacija | Tablice dimenzija su u normiranom obliku, ali tablica činjenica je u normiranom obliku | Tablica dimenzija i činjenica su u normiranom obliku |
Model podataka | Pristup odozdo prema gore | Pristup odozgo prema dolje |
Razmotrite bazu podataka za maloprodaju koja ima mnogo prodavaonica, a svaka prodavaonica prodaje mnogo proizvoda u mnogim kategorijama proizvoda i različitih marki. Skladište podataka ili mapa podataka za takvog trgovca trebao bi pružiti analitičarima mogućnost izvođenja izvještaja o prodaji grupirana po trgovini, datumu (ili mjesecu, tromjesečju ili godini) ili kategoriji proizvoda ili marke.
Ako je ovaj podatkovni mart koristio zvjezdanu shemu, izgledao bi sljedeće:
Primjer zvijezde shemeTablica činjenica bio bi zapis prodajnih transakcija, dok postoje tablice dimenzija za datum, trgovinu i proizvod. Tablice dimenzija međusobno su povezane s tablicom činjenica putem svog primarnog ključa, koji je strani ključ tablice činjenica. Na primjer, umjesto pohranjivanja stvarnog datuma transakcije u niz tablice činjenica, datum_id se pohranjuje. Ovaj date_id odgovara jedinstvenom retku u tablici Dim_Date, a taj red pohranjuje i druge atribute datuma koji su potrebni za grupiranje u izvješćima. npr. dan u tjednu, mjesec, tromjesečje i tako dalje. Podaci su denormalizirani za lakše izvještavanje.
Evo kako bi se pomoću unutarnjih spajanja moglo dobiti izvještaj o broju televizija koje se prodaju po marki i zemlji.
Isti scenarij također može koristiti shemu snježne pahulje, koja bi u tom slučaju bila strukturirana na sljedeći način:
Primjer sheme snježne pahulje (kliknite za povećanje)Glavna razlika, u usporedbi sa shemom zvijezda, je ta što su podaci u dimenzijskim tablicama normaliziraniji. Na primjer, umjesto da pohranjuju mjesec, tromjesečje i dan u tjednu u svaki red Dim_Date tablice, oni se dalje raščlanjuju u njihove vlastite tablice dimenzija. Slično kao i u tablici Dim_Store, država i zemlja su geografski atributi koji su uklonjeni jedan korak - umjesto da budu pohranjeni u tablici Dim_Store, oni se sada spremaju u zasebnu tablicu Dim_Geografije.
Isti izvještaj - o broju televizija prodanih prema zemlji i prema robnoj marki - sada je malo složeniji nego u zvjezdanoj shemi:
SQL upit za dobivanje broja proizvoda koji se prodaju po zemlji i marki, kada baza podataka koristi shemu snježne pahulje.