Знајте о главној шеми: Звезда против пахуљице

Multidimenzionalni model struktuiran je s ciljem kreiranja modela sistema za skladištenje podataka.

Primarni cilj ovih modela jeste da odgovore na zahteve velikih baza podataka, posebno onih koje se koriste u analitičke svrhe (OLAP).

Ova metoda služi za organizaciju podataka unutar baze, stvarajući pregledan raspored sadržaja. Model omogućava korisnicima da postavljaju upite vezane za poslovne ili tržišne trendove.

Nadalje, multidimenzionalni model prezentuje podatke u obliku data kocki, omogućavajući pregled i modeliranje podataka iz različitih uglova i dimenzija.

Postoje tri glavne vrste ovog modela, ali mnogi često mešaju zvezdasti i pahuljasti model. To im otežava izbor najpogodnijeg modela.

Ako ste i vi među njima, razmotrimo razlike između zvezdastog i pahuljastog modela, počevši od definicija, razumevanja prednosti, izazova, dijagrama i karakteristika.

Šta je Multidimenzionalni Model?

Model se odnosi na logički opis celokupne baze podataka i njenih sadržaja. Uključuje imena zapisa i njihove opise, zajedno sa agregatima i povezanim stavkama podataka.

Baze podataka uglavnom koriste relacioni model za opisivanje, dok sistemi za skladištenje podataka koriste model sheme.

Multidimenzionalni model može se definisati pomoću jezika upita za rudarenje podataka (DMQL).

Za definisanje data martova i skladišta podataka koriste se dva osnovna elementa: definicija dimenzije i definicija kocke.

Multidimenzionalni model koristi različite tipove modela. Oni su:

  • Zvezdasti model
  • Pahuljasti model
  • Galaktički model

Razmotrimo detaljnije zvezdasti i pahuljasti model.

Zvezdasti vs. Pahuljasti: Šta su oni?

Šta je Zvezdasti Model?

Zvezdasti model je arhitektonski model za skladištenje podataka i poslovnu inteligenciju koji koristi jednu tabelu činjenica za skladištenje izmerenih i transakcionih podataka. Takođe koristi manje tabele dimenzija za čuvanje atributa o poslovnim podacima.

Nazvan je po svojoj strukturi. Poput zvezde, tabela činjenica zauzima središnje mesto na dijagramu, a manje dimenzionalne tabele se nalaze kao krakovi koji se šire od centralne tabele, formirajući tako strukturu sličnu zvezdi.

Svaki zvezdasti model sastoji se od jedne tabele činjenica i nekoliko manjih tabela dimenzija. Tabele sa činjenicama sadrže specifične, merljive podatke koji se analiziraju, kao što su zabeleženi učinak, finansijski podaci ili podaci o prodaji. To može biti snimak istorijskih podataka u jednom trenutku ili transakcija.

Štaviše, zvezdasti model je najjednostavniji i najosnovniji među modelima za skladištenje podataka i tržištima podataka. Efikasan je u rukovanju osnovnim upitima. Zvezdasti model generalno podržava poslovnu inteligenciju, ad hoc upite, analitičke aplikacije i kocke za analitičku obradu na mreži.

Zvezdasti model takođe podržava broj, prosek, zbir i druge agregacije velikog broja zapisa. Korisnici mogu lako filtrirati i grupisati agregacije po dimenzijama. Na primer, korisnici generišu upite poput „pronađi sve podatke o prodaji u junu“ ili „analiziraj ukupan prihod od filijale XYZ u 2022.“.

Šta je Pahuljasti Model?

Pahuljasti model je multidimenzionalni model podataka koji se može smatrati proširenjem zvezdastog modela. To je zato što se tabele dimenzija u pahuljastom modelu razlažu na poddimenzije.

Model je pahuljast ako se jedna ili više tabela dimenzija ne povezuju direktno sa tabelom činjenica, već se povezuju preko drugih tabela dimenzija.

Pahuljasti model je fenomen koji normalizuje tabele dimenzija u zvezdastom modelu. Kada normalizujete sve tabele dimenzija, rezultujuća struktura podseća na pahuljicu koja sadrži tabelu činjenica u centru.

Jednostavno rečeno, pahuljasti model se sastoji od jedne tabele činjenica u središtu modela, koja je povezana sa tabelama dimenzija, koje su dalje povezane sa drugim tabelama dimenzija. Ovaj model se koristi za poboljšanje performansi upita.

Model je kreiran za brzo i fleksibilno postavljanje upita kroz kompleksne odnose i dimenzije. Koristan je za odnose jedan prema mnogo i mnogo prema mnogo između različitih nivoa dimenzija.

Zbog strožeg pridržavanja standarda normalizacije, postiže se veća efikasnost skladištenja. Međutim, redundantnost podataka je zanemarljiva, a performanse su niže u poređenju sa denormalizovanim modelima podataka kao što je zvezdasti model.

Zvezdasti vs. Pahuljasti: Kako funkcionišu?

Kako funkcioniše Zvezdasti Model?

Tabela činjenica u središtu zvezdastog modela čuva dve vrste informacija: numeričke vrednosti i vrednosti atributa dimenzije. Razmotrimo ovo na primeru baze podataka o prodaji.

  • Numeričke vrednosti su jedinstvene za svaki red i tačku podataka. One nisu u korelaciji niti se odnose na podatke smeštene u drugom redu. To su činjenice o datoj transakciji, kao što su ukupan iznos, količina porudžbine, tačno vreme, neto profit, ID narudžbine itd.
  • Vrednosti dimenzionalnih atributa ne skladište nikakve podatke direktno, već čuvaju vrednosti stranog ključa za red u dimenzionoj tabeli. Različiti redovi u centralnoj tabeli referenciraće ove informacije, kao što su vrednost podataka, ID zaposlenog u prodaji, ID filijale, ID proizvoda itd.

Tabele dimenzija uvek čuvaju prateće informacije iz tabele činjenica. Svaka dimenziona tabela se odnosi na kolonu tabele činjenica, zajedno sa dimenzionalnom vrednošću i čuva dodatne podatke o toj vrednosti.

Primer: Tabela dimenzija zaposlenih koristi ID zaposlenog kao ključnu vrednost i takođe sadrži informacije kao što su ime, pol, adresa i broj telefona. Slično, tabela dimenzija proizvoda čuva informacije, uključujući naziv proizvoda, boju, prvi datum na tržištu, troškove proizvodnje itd.

Kako funkcioniše Pahuljasti Model?

Zamislite dizajn pahuljice sa centralnom kutijom i različitim vezama kroz tu kutiju do različitih tačaka. Za održavanje prodajnih mesta i skladišta podataka, dizajn pahuljastog modela dolazi u obzir.

Sličan je zvezdastom modelu, ali sa sitnim izmenama. Za razliku od zvezdastog modela, pahuljasti model proširuje svoje tabele poddimenzija, koje su povezane sa tabelama dimenzija.

Primarna svrha ovog modela je da normalizuje denormalizovane informacije zvezdastog modela. Na ovaj način može rešiti uobičajene probleme povezane sa zvezdastim modelom.

U središtu modela, pronaći ćete tabelu činjenica koja se povezuje sa informacijama sadržanim u tabelama dimenzija. Ove tabele se dalje granaju prema spolja u tabele poddimenzija koje sadrže detaljne informacije koje opisuju informacije tabele dimenzija.

Primer: Pahuljasti model sadrži tabelu sa činjenicama o prodaji i tabele sa lokacijom prodavnice, linijom, porodicom, proizvodom i vremenskom dimenzijom. Tržišne dimenzije se sastoje od dve tabele dimenzija, gde je prodavnica primarna tabela dimenzija, a lokacija prodavnice je tabela poddimenzije. Dimenzija proizvoda ima tri tabele poddimenzija koje se odnose na proizvod, linije i porodice.

Zvezdasti vs. Pahuljasti: Karakteristike

Karakteristike Zvezdastog Modela

  • Zvezdasti model može filtrirati podatke iz normalizovanih podataka kako bi zadovoljio potrebe skladištenja podataka. Jedinstveni ključ se generiše iz povezanih informacija za svaku tabelu činjenica kako bi se identifikovao svaki red.
  • Obezbeđuje brze proračune i agregacije, kao što su prihodi od ostvarenog prihoda i ukupan broj prodatih artikala na kraju svakog meseca. Ovi detalji se mogu filtrirati prema potrebama uokvirujući odgovarajuće upite.
  • To je merenje događaja koje uključuje vrednosti konačnih brojeva koji se sastoje od stranog ključa. Ovi ključevi su povezani sa tabelama dimenzija. Postoje različite vrste tabela činjenica koje su uokvirene vrednostima na atomskom nivou.
  • Tabela činjenica transakcija sadrži podatke o određenim događajima, kao što su prodaje i praznici.
  • Činjenice za evidentiranje uključuju date periode kao što su informacije o računu na kraju godine ili svakog kvartala.
  • Tabela dimenzija daje detaljne podatke o atributima ili zapisima koji se nalaze u centralnoj tabeli.
  • Korisnik je u mogućnosti da sam dizajnira tabelu prema potrebama.
  • Možete koristiti zvezdasti model da akumulirate tabele snimaka.

Karakteristike Pahuljastog Modela

  • Pahuljastom modelu je potreban manji prostor na disku.
  • Ovaj model je jednostavan za implementaciju zahvaljujući odvojenim i glavnim tabelama dimenzija.
  • Tabele dimenzija sadrže najmanje dva atributa za definisanje informacija sa više nivoa detalja.
  • Zbog većeg broja tabela, performanse su niže u poređenju sa zvezdastim modelom.
  • Pahuljasti model ima najviši nivo integriteta podataka i nisku redundantnost zbog normalizacije.

Zvezdasti vs. Pahuljasti: Prednosti

Prednosti Zvezdastog Modela

  • Zvezdasti model je najjednostavniji pristup među modelima za tržište podataka.
  • Ima jednostavnu logiku izveštavanja. Ova logika se podrazumeva dinamički.
  • Dizajniran je korišćenjem kocki za prikupljanje informacija koje se primenjuju kroz proces online transakcija kako bi kocke funkcionisale efikasno.
  • Zvezdasti model je formiran jednostavnom logikom i upitima koje je lako izdvojiti iz procesa transakcije.
  • Poboljšava performanse aplikacija za izveštavanje.
  • Koristi se za kontrolu brzog oporavka podataka.
  • Filtrirane i odabrane informacije mogu se lako primeniti u različitim slučajevima.

Prednosti Pahuljastog Modela

  • Pahuljasti model se koristi za poboljšanje performansi upita zbog manjih zahteva za skladištenje na disku.
  • Nudi veću skalabilnost u odnosima između komponenti i nivoa dimenzija.
  • Lakši je za održavanje.
  • Pahuljasti model nudi brzo pronalaženje podataka.
  • To je uobičajen i jednostavan model podataka za skladištenje podataka.
  • Pomaže u poboljšanju kvaliteta podataka.
  • Strukturirani podaci smanjuju pitanje integriteta podataka.

Zvezdasti vs. Pahuljasti: Ograničenja

Ograničenja Zvezdastog Modela

Ima visoko denormalizovano stanje i stanje integriteta. Ceo proces će se srušiti ako korisnik ne uspe da ažurira podatke. Bezbednost i zaštita su takođe ograničeni. Pored toga, zvezdasti model nije tako fleksibilan kao analitički model. Ne nudi efikasnu podršku različitim odnosima.

Ograničenja Pahuljastog Modela

Glavno ograničenje pahuljastog modela su dodatni napori za održavanje zbog sve većeg broja tabela manjih dimenzija. Mnogi složeni upiti otežavaju pronalaženje potrebnih podataka. Pored toga, vreme implementacije upita je veliko zbog većeg broja tabela. Ovaj model je takođe krut i zahteva veće troškove održavanja.

Zvezdasti vs. Pahuljasti: Razlike

Zvezdasti i pahuljasti model su tipovi multidimenzionalnih modela, ali imaju različite strukture i svojstva. Prvi je poput zvezde, a drugi podseća na pahuljicu, definišući tako njihova imena.

U zvezdastom modelu, samo jedno spajanje gradi odnos između centralne tabele činjenica i tabela bočnih dimenzija. S druge strane, u pahuljastom modelu, potrebno je više spajanja za povezivanje sa tabelama dimenzija.

Zvezdasti model se generalno koristi kada imate manji broj redova u tabeli dimenzija, dok se pahuljasti model koristi kada je tabela dimenzija relativno velika.

Dijagram ispod razlikuje ova dva modela i način na koji su tabele dimenzija i tabela činjenica povezane u različitim modelima.

Parametar Zvezdasti Model Pahuljasti Model
Prostor na disku Zvezdasti model koristi više prostora na disku. Pahuljasti model koristi manje prostora na disku.
Redundantnost podataka Ima visoku redundantnost podataka. Ima nisku redundantnost podataka.
Normalizacija Tabele dimenzija su denormalizovane, što znači da se ponavljaju iste vrednosti unutar tabele. Potpuno normalizovan.
Performanse upita Potrebno je minimalno vreme za izvršavanje upita, što rezultira boljim performansama. Potrebno je više vremena od zvezdastog modela za izvršenje upita, što ga čini manje efikasnim od zvezdastog modela.
Složenost upita Složenost upita je niska. Složenost upita je veća od zvezdastog modela.
Održavanje Zbog velike redundantnosti podataka, održavanje zvezdastog modela je malo teže. Zbog male redundantnosti podataka, lako je održavati i menjati pahuljasti model.
Integritet podataka Integritet podataka je visok jer se podaci čuvaju redundantno tamo gde postoji više kopija u tabelama dimenzija. Integritet podataka je nizak jer potpuno normalizuje tabele dimenzija.
Hijerarhije Hijerarhije za tabele dimenzija u zvezdastom modelu se čuvaju u tabeli dimenzija. Hijerarhije su podeljene u zasebne tabele dimenzija.
Dizajn DB Ima jednostavan dizajn DB. Ima veoma složen dizajn DB.
Tabela činjenica Više tabela dimenzija okružuje tabelu činjenica. Tabela činjenica je okružena tabelama dimenzija koje su takođe okružene tabelama poddimenzija.
Model setup Zvezdasti model je jednostavan za dizajn i podešavanje jer ih predstavljaju direktni odnosi. S druge strane, pahuljasti model je malo složeniji za podešavanje.
Obrada kocke Obrada kocke je brža. Zbog složenog spajanja, obrada kocke je malo sporija.
Strani ključevi Ima minimalan broj stranih ključeva. Ima maksimalan broj stranih ključeva.

Zaključak

I zvezdasti i pahuljasti model su korisni u različitim sektorima. Dakle, odlučivanje koji je bolji među njima zasniva se na njihovim zahtevima.

Pahuljasti model je proširenje zvezdastog modela, gde normalizuje tabele dimenzija u zvezdastom modelu.

Zvezdasti model ima jednostavan dizajn, brže izvršava upite, a podešavanje je jednostavno. S druge strane, pahuljasti model je lakši za održavanje, zauzima manje prostora na disku i manje je sklon problemima sa integritetom podataka.

Dakle, zvezdasti model bi mogao biti bolja opcija ako vam je potreban jednostavan dizajn, manje stranih ključeva i brža obrada kocke. Ali, ako vam je potrebno manje prostora na disku, nizak integritet podataka i nisko održavanje, pahuljasti model može biti prikladniji.

Takođe možete istražiti neka najbolja rešenja baza podataka grafova.