Snieguolės schema ir žvaigždžių schema

Renkantis duomenų saugyklos duomenų bazės schemą, snaigė ir žvaigždžių schemos paprastai yra populiarus pasirinkimas. Šiame palyginime aptariamas žvaigždžių ir snaigių schemų tinkamumas įvairiems scenarijams ir jų charakteristikos.

Palyginimo diagrama

Snieguolės schemos ir žvaigždės schemos palyginimo lentelė
Snaigės schemaŽvaigždžių schema
Lengva priežiūra / keitimas Nėra atleidimo, todėl snaigių schemas lengviau prižiūrėti ir keisti. Turi nereikalingų duomenų, todėl mažiau prižiūrimas / keičiamas
Lengvas naudojimas Sudėtingesnės užklausos, taigi mažiau suprantamos Mažesnis užklausos sudėtingumas ir lengvai suprantamas
Užklausos atlikimas Daugiau svetimų raktų ir todėl ilgesnis užklausos vykdymo laikas (lėčiau) Mažiau pašalinių raktų skaičiaus ir dėl to trumpesnis užklausos vykdymo laikas (greitesnis)
Datawarehouse tipas Tinka naudoti duomenų saugyklos branduoliui supaprastinti sudėtingus ryšius (daug: daug) Tinka duomenų žemėlapiams su paprastais ryšiais (1: 1 arba 1: daug)
Prisijungia Didesnis prisijungimų skaičius Mažiau prisijungia
Matmenų lentelė Snaigės schemoje gali būti daugiau nei viena kiekvieno matmens lentelė. Žvaigždės schemoje yra tik kiekvieno aspekto lentelė.
Kada naudoti Kai matmenų lentelė yra gana didelė, geriau naudojama snaigė, nes ji sumažina vietą. Kai matmenų lentelėje yra mažiau eilučių, galime pasirinkti žvaigždės schemą.
Normalizavimas / Normalizavimo panaikinimas Matmenų lentelės yra normalizuotos formos, bet faktų lentelė yra normalizuotos Tiek matmenų, tiek faktų lentelės yra normalizuotos
Duomenų modelis Požiūris iš apačios į viršų Požiūris iš viršaus į apačią

Turinys: Snaigės schema prieš žvaigždžių schemą

  • 1 pavyzdžiai
    • 1.1 Žvaigždžių schemos pavyzdys
    • 1.2 Snaigės schemos pavyzdys
  • 2 literatūros sąrašas

Pavyzdžiai

Apsvarstykite mažmenininko, turinčio daugybę parduotuvių, duomenų bazę, kiekvienoje parduotuvėje parduodant daug produktų daugelyje produktų kategorijų ir įvairių prekių ženklų. Tokio mažmenininko duomenų saugykla ar duomenų rinkinys turėtų suteikti analitikams galimybę vykdyti pardavimo ataskaitas, sugrupuotas pagal parduotuvę, datą (arba mėnesį, ketvirtį ar metus), produkto kategoriją ar prekės ženklą.

Žvaigždžių schemos pavyzdys

Jei šis duomenų maras naudojo žvaigždės schemą, jis atrodytų taip:

Žvaigždės schemos pavyzdys

Faktų lentelė būtų pardavimo operacijų įrašas, tuo tarpu yra datos, parduotuvės ir produkto matmenų lentelės. Matmenų lentelės yra sujungtos su faktų lentele per pirminį raktą, kuris yra pašalinis duomenų lentelės raktas. Pvz., Užuot saugojęs faktinę operacijos datą faktų lentelės eilutėje, data_ID yra saugoma. Ši date_id atitinka unikalią „Dim_Date“ lentelės eilutę, joje taip pat saugomi kiti datos atributai, reikalingi grupavimui ataskaitose. pvz., savaitės diena, mėnuo, metų ketvirtis ir pan. Duomenys denormalizuoti, kad būtų lengviau juos pateikti.

Štai taip galima gauti ataskaitą apie parduotų televizorių skaičių pagal prekės ženklą ir pagal šalį, naudojant vidinius sujungimus.

Snaigės schemos pavyzdys

Tame pačiame scenarijuje taip pat gali būti naudojama snaigės schema, tokiu atveju ji būtų išdėstyta taip:

Snaigės schemos pavyzdys (spustelėkite, jei norite padidinti)

Pagrindinis skirtumas, palyginti su žvaigždės schema, yra tas, kad matmenų lentelėse esantys duomenys yra labiau normalizuoti. Pvz., Užuot kaupę mėnesį, ketvirtį ir savaitės dieną kiekvienoje „Dim_Date“ lentelės eilutėje, jie dar yra išskaidomi į savo matmenų lenteles. Panašiai kaip „Dim_Store“ lentelėje, valstybė ir šalis yra geografiniai atributai, kurie pašalinami vienu žingsniu - užuot saugomi „Dim_Store“ lentelėje, jie dabar saugomi atskiroje „Dim_Geography“ lentelėje..

Ta pati ataskaita - parduotų televizorių skaičius pagal šalis ir prekės ženklus - dabar yra šiek tiek sudėtingesnė nei pagal žvaigždės schemą:

SQL užklausa norint gauti parduotų produktų skaičių pagal šalį ir prekės ženklą, kai duomenų bazėje naudojama snaigės schema.

Nuorodos

  • wikipedia: Snieguolės_schema
  • Vikipedija: „Star_schema“