Shema snježne pahuljice u modelu skladišta podataka
⚡ Pametni sažetak
Shema pahuljice u modeliranju skladišta podataka raspoređuje normalizirane dimenzijske tablice koje se granaju iz središnje tablice činjenica, nalikujući pahuljici. Proširuje zvjezdastu shemu, smanjuje redundanciju podataka i organizira hijerarhije u više povezanih tablica pretraživanja.

Što je shema snježne pahulje?
A Shema snježne pahulje u skladištu podataka je logičan raspored tablica u višedimenzionalnoj bazi podataka čiji dijagram odnosa entiteta (ER) podsjeća na oblik pahuljice. To je dimenzionalni model u kojoj je središnja tablica činjenica povezana s tablicama dimenzija, a te tablice dimenzija dalje su podijeljene na povezane tablice poddimenzija.
Shema pahuljice je proširenje zvjezdaste sheme. Dok zvjezdasta shema čuva svaku dimenziju u jednoj ravnoj tablici, shema pahuljice normalizira te dimenzije, dijeleći ponavljajuće grupe podataka u dodatne tablice pretraživanja. Ova normalizacija uklanja redundanciju i stvara grananje, hijerarhijsku strukturu koja shemi daje ime.
Primjer sheme snježne pahulje
U sljedećem primjeru sheme pahuljice, tablica činjenica o prodaji nalazi se u središtu, okružena dimenzijama kao što su Proizvod, Datum i Trgovina. Umjesto pohranjivanja svakog atributa unutar jedne tablice dimenzija, geografski podaci se normaliziraju tako da se Država premješta u zasebnu tablicu.

Ovdje dimenzija Store referencira tablicu City, tablica City referencira tablicu State, a tablica State referencira tablicu Country. Svaka vrijednost pohranjuje se samo jednom i povezana je stranim ključem, tako da se naziv države nikada ne ponavlja u milijunima redaka. Ova slojevita normalizacija razlikuje shemu pahuljice od sheme ravne zvijezde.
Karakteristike sheme pahuljice
Shema pahuljice ima nekoliko definirajućih karakteristika:
- Koristi manji prostor na disku jer normalizirane tablice dimenzija izbjegavaju pohranjivanje ponovljenih vrijednosti.
- Nove dimenzije mogu se dodati shemi uz relativno malo truda.
- Performanse upita mogu pasti jer dohvaćanje podataka zahtijeva spajanje mnogih tablica.
- Potrebno je više napora za održavanje, budući da se mora upravljati većim brojem tablica pretraživanja.
Kako dizajnirati shemu pahuljice
Dizajniranje sheme pahuljice započinje na isti način kao i bilo koji dimenzionalni model, a zatim se dodaje korak normalizacije. Cilj je identificirati poslovni proces koji želite analizirati, prvo ga modelirati kao zvjezdastu shemu, a zatim normalizirati dimenzije koje sadrže duboke hijerarhije. Prođite kroz sljedeće korake:
- Identificirajte poslovni proces i žitarice. Odlučite što predstavlja jedan redak tablice činjenica, poput jedne prodajne transakcije, i definirajte numeričke mjere ili činjenice o kojima trebate izvijestiti.
- Izgradite središnju tablicu činjenica. Dodajte numeričke mjere zajedno sa stranim ključevima koji pokazuju na svaku dimenziju; zajedno ti strani ključevi obično tvore složeni primarni ključ.
- Definirajte tablice dimenzija. Izradite jednu tablicu za svaku opisnu dimenziju, kao što su Proizvod, Kupac, Datum i Trgovina, te svakoj dodijelite zamjenski primarni ključ.
- Normalizirajte hijerarhije. Podijelite svaku dimenziju koja sadrži ponavljajuće atribute u tablice poddimenzija, na primjer premještanjem kategorije iz dimenzije proizvoda ili grada, države i zemlje iz dimenzije trgovine.
- Povežite tablice stranim ključevima. Povežite svaku poddimenziju natrag s njezinom nadređenom tablicom tako da grane formiraju jasne hijerarhije jedan-prema-više koje nalikuju pahuljici.
- Validirajte i testirajte pomoću upita. Pokrenite reprezentativne upite za izvještavanje kako biste potvrdili da spajanja vraćaju ispravne rezultate i da ukupne performanse ostaju prihvatljive.
Budući da dizajn normalizira podatke prema trećem normalnom obliku, jasno dokumentirajte putove spajanja kako bi analitičari razumjeli kako se kretati kroz svaku granu. Nakon što je struktura definirana, vrijedi odvagnuti prednosti sheme u odnosu na njezine troškove.
Prednosti sheme pahuljica
Shema pahuljice nudi niz prednosti:
- Njegova primarna prednost je smanjena pohrana na disku, jer spajanje manjih normaliziranih tablica pretraživanja izbjegava dupliciranje podataka o dimenzijama.
- Pruža veću skalabilnost u odnosima između komponenti i razina dimenzija.
- Uklanja redundanciju, što poboljšava integritet podataka i olakšava održavanje modela.
- Opisni atribut ažurira se samo na jednom mjestu, što smanjuje rizik od nekonzistentnih podataka.
Nedostaci sheme pahuljica
Dizajn također dolazi s kompromisima koje treba uzeti u obzir:
- Normalizirana struktura povećava održavanje potrebno za upravljanje mnogim povezanim tablicama.
- Složene upite koji obuhvaćaju više spojeva može biti teško napisati i razumjeti.
- Veći broj tablica znači više spajanja, što produžuje vrijeme izvršavanja upita.
- Poslovnim korisnicima je često teže snalaziti se u modelu grananja nego u jednostavnoj zvjezdastoj shemi.
Shema pahuljice u odnosu na shemu zvijezde
Shema pahuljice i zvjezdana shema dva su najčešća višedimenzionalna dizajna u skladištenju podataka, a ključna razlika između njih je normalizacija. Zvjezdasta shema čuva svaku dimenziju u jednoj ravnoj, denormaliziranoj tablici za maksimalnu brzinu upita, dok shema pahuljice normalizira te dimenzije u nekoliko povezanih tablica radi uštede prostora za pohranu i zaštite integriteta podataka. Zbog toga, dvije sheme odgovaraju različitim prioritetima.
| Aspekt | Shema zvijezda | Shema snježne pahulje |
|---|---|---|
| Tablice dimenzija | Denormalizirano, jedna tablica po dimenziji | Normalizirano u tablice poddimenzionali |
| Čuvanje | Koristi više prostora zbog redundantnosti | Zauzima manje prostora, nema redundancije |
| Izvedba upita | Brže, manje spajanja | Sporije, više spajanja |
| Složenost upita | Jednostavno za pisanje | Kompleksnije |
| Najprikladniji za | Brzo izvještavanje i BI | Velike, hijerarhijske dimenzije |
Ukratko, odaberite zvjezdastu shemu kada su brzina upita i jednostavnost izvještavanja najvažniji, a odaberite shemu pahuljice kada su učinkovitost pohrane, čiste hijerarhije i niska redundancija podataka prioritet. Mnoga stvarna skladišta kombiniraju oba obrasca ovisno o veličini i dubini svake dimenzije.
Kada koristiti shemu pahuljice
Shema pahuljice nije uvijek pravi izbor, stoga pomaže uskladiti dizajn s radnim opterećenjem i potrebama izvještavanja. Obično najbolje funkcionira u sljedećim situacijama:
- Dimenzije su vrlo velike i sadrže mnogo ponavljajućih atributa koji troše prostor za pohranu kada se denormaliziraju.
- Dimenzije imaju duboke, dobro definirane hijerarhije, kao što su Regija, Zemlja, Savezna država, Grad, koje se prirodno preslikavaju na odvojene tablice.
- Integritet i konzistentnost podataka važniji su za projekt od brzine upita.
- Troškovi pohrane su stvarna briga, a uštede na disku kod tablica s ogromnim dimenzijama su značajne.
- Model se hrani OLAP alati koji mogu učinkovito navigirati normaliziranim hijerarhijama.
Suprotno tome, kada je prioritet brzo i jednostavno izvještavanje za poslovne analitičare, zvjezdana shema ili hibridni dizajn zvjezdanog skupa obično su bolje rješenje. Mnogi arhitekture skladišta podataka namjerno kombiniraju oba pristupa kako bi uravnotežili brzinu i pohranu.
Što je shema galaksije?
A Shema galaksije sadrži dvije ili više tablica činjenica koje dijele tablice dimenzija među sobom. Također se naziva Shema konstelacije činjenica, a budući da se može promatrati kao skup zvijezda, zaslužuje naziv Shema galaksije.

Kao što možete vidjeti u gornjem primjeru, postoje dvije tablice činjenica:
- Revenue
- Proizvod
U shemi galaksije, dimenzije koje se dijele između tablica činjenica nazivaju se usklađene dimenzije.
Karakteristike galaktičke sheme
Shema galaksije ima sljedeće karakteristike:
- Dimenzije su podijeljene u zasebne dimenzije na temelju različitih razina hijerarhije.
- Na primjer, ako geografija ima četiri razine hijerarhije - regiju, zemlju, saveznu državu i grad - tada bi shema galaksije trebala imati četiri dimenzije.
- Ovu vrstu sheme moguće je izgraditi dijeljenjem jedne zvjezdaste sheme na više zvjezdastih shema.
- Dimenzije u ovoj shemi su velike i moraju se graditi prema razinama hijerarhije.
- Shema je korisna za agregiranje tablica činjenica radi bolje analize i razumijevanja.
Što je Star Cluster Shema?
Shema pahuljice sadrži potpuno proširene hijerarhije, što može dodati složenost i zahtijevati dodatne spojeve. S druge strane, shema zvijezde sadrži potpuno sažete hijerarhije, što može dovesti do redundantnosti. Najbolje rješenje često je ravnoteža između ova dva dizajna, poznata kao shema zvijezde. Cluster Shema.

Preklapanjeping Dimenzije se u hijerarhijama pojavljuju kao račvanja. Račvanje se događa kada entitet djeluje kao roditelj u dvije različite dimenzionalne hijerarhije. Ti entiteti račvanja zatim se identificiraju kao klasifikacije s odnosima jedan-prema-više, što ograničava broj dodatnih tablica koje dizajn stvara.
