Izvēloties datu noliktavas datu bāzes shēmu, sniegpārsla un zvaigžņu shēmas mēdz būt populāra izvēle. Šajā salīdzinājumā tiek apskatīta zvaigžņu un sniegpārslu shēmu piemērotība dažādiem scenārijiem un to raksturojums.
Sniegpārslas shēma | Zvaigžņu shēma | |
---|---|---|
Apkopes / maiņas vienkāršība | Nav atlaišanas, tāpēc sniegpārslu shēmas ir vieglāk uzturēt un mainīt. | Tam ir lieki dati, tāpēc to ir mazāk viegli uzturēt / mainīt |
Lietošanas ērtums | Sarežģītāki jautājumi un līdz ar to mazāk viegli saprotami | Zemāka vaicājuma sarežģītība un viegli saprotama |
Vaicājuma veiktspēja | Vairāk ārvalstu atslēgu un tādējādi ilgāks vaicājuma izpildes laiks (lēnāks) | Mazāks ārvalstu atslēgu skaits un līdz ar to īsāks vaicājuma izpildes laiks (ātrāks) |
Datawarehouse tips | Labi izmantojams datawarehouse kodolā, lai vienkāršotu sarežģītas attiecības (daudz: daudz) | Piemērots datu kartēm ar vienkāršām attiecībām (1: 1 vai 1: daudz) |
Pievienojas | Lielāks pievienošanos skaits | Mazāk pievienojas |
Izmēru tabula | Sniegpārsliņu shēmai katrā dimensijā var būt vairāk nekā viena dimensiju tabula. | Zvaigžņu shēmā ir tikai vienas dimensijas tabula katrai kategorijai. |
Kad lietot | Ja izmēru tabula ir salīdzinoši liela, sniegpārsla ir labāka, jo tā samazina vietu. | Kad dimensiju tabulā ir mazāk rindu, mēs varam izvēlēties shēmu ar zvaigznīti. |
Normalizācija / normalizēšana | Izmēru tabulas ir normalizētas, bet faktu tabula ir normalizēta | Gan dimensiju, gan faktu tabulas ir normalizētas |
Datu modelis | Pieeja no apakšas uz augšu | Augšupēja pieeja |
Apsveriet mazumtirgotāja datu bāzi, kurā ir daudz veikalu, un katrā veikalā tiek pārdoti daudzi produkti daudzās produktu kategorijās un dažādiem zīmoliem. Datu noliktavai vai datu tirgotājam šādam mazumtirgotājam būtu jāsniedz analītiķiem spēja izpildīt pārdošanas pārskatus, kas sagrupēti pēc veikala, datuma (vai mēneša, ceturkšņa vai gada) vai produktu kategorijas vai zīmola.
Ja šajā datu martā tiktu izmantota zvaigžņu shēma, tas izskatās šādi:
Zvaigžņu shēmas piemērsFaktu tabula būtu pārdošanas darījumu ieraksts, savukārt datuma, veikala un produkta dimensiju tabulas ir. Katra dimensiju tabulas ir savienotas ar faktu tabulu, izmantojot to galveno atslēgu, kas ir faktu tabulas sveša atslēga. Piemēram, tā vietā, lai faktiskā tabulas rindā saglabātu faktisko darījuma datumu, tiek saglabāts date_id. Šis datums_id atbilst unikālai rindai tabulā Dim_Date, un šajā rindā tiek saglabāti arī citi datuma atribūti, kas nepieciešami grupēšanai pārskatos. piemēram, nedēļas diena, mēnesis, gada ceturksnis utt. Dati tiek denormalizēti, lai būtu vieglāk ziņot.
Tas ir, kā ar iekšējo savienojumu palīdzību var iegūt pārskatu par televizoru skaitu, ko pārdod pēc zīmola un pa valstīm.
Tajā pašā scenārijā var izmantot arī sniegpārsliņu shēmu, un tādā gadījumā tā būtu strukturēta šādi:
Sniegpārslas shēmas piemērs (noklikšķiniet, lai palielinātu)Galvenā atšķirība, salīdzinot ar zvaigznes shēmu, ir tāda, ka dati dimensiju tabulās ir vairāk normalizēti. Piemēram, tā vietā, lai saglabātu mēnesi, ceturksni un nedēļas dienu katrā tabulas Dim_Date rindā, tās tālāk tiek sadalītas pašu izmēru tabulās. Līdzīgi kā tabulā Dim_Store, valsts un valsts ir ģeogrāfiski atribūti, kas tiek noņemti ar vienu soli - tā vietā, lai tos saglabātu tabulā Dim_Store, tagad tie tiek glabāti atsevišķā Dim_Geography tabulā..
Tas pats ziņojums - pārdoto televizoru skaits pa valstīm un zīmoliem - tagad ir nedaudz sarežģītāks nekā zvaigžņu shēmā:
SQL vaicājums, lai iegūtu pārdoto produktu skaitu pa valstīm un zīmoliem, kad datu bāzē tiek izmantota sniegpārsliņu shēma.