Kun valitset tietokantakaavan tietovarastoon, lumihiutale ja tähtikaaviot yleensä suosittuja valintoja. Tässä vertailussa tarkastellaan tähti- ja lumihiutalekaavioiden soveltuvuutta eri tilanteisiin ja niiden ominaisuuksia.
Lumihiutalekaavio | Tähtikaavio | |
---|---|---|
Helppo ylläpito / vaihto | Ei redundanssia, joten lumihiutalekaavioita on helpompi ylläpitää ja muuttaa. | Siinä on tarpeetonta tietoa, joten sitä on vähemmän helppo ylläpitää / muuttaa |
Helppokäyttöisyys | Monimutkaisempia kyselyjä ja siten vähemmän helppo ymmärtää | Matalampi kyselyn monimutkaisuus ja helppo ymmärtää |
Kyselyn suorituskyky | Lisää vieraita avaimia ja siten pidempi kyselyn suorittamisaika (hitaampi) | Vähemmän vieraiden avainten lukumäärää ja siten lyhyempi kyselyn suorittamisaika (nopeampi) |
Datawarehouse-tyyppi | Hyvä käyttää datawarehouse-ytimessä monimutkaisten suhteiden yksinkertaistamiseksi (monia: monia) | Hyvä tietokarttoille, joilla on yksinkertaiset suhteet (1: 1 tai 1: monet) |
Liitosten | Suurempi liittymien lukumäärä | Vähemmän liittymiä |
Mittataulukko | Lumihiutalejärjestelmässä voi olla useampi kuin yksi mittataulukko kutakin ulottuvuutta kohti. | Tähtikaavio sisältää vain yhden ulottuvuuden taulukon jokaiselle ulottuvuudelle. |
Milloin käyttää | Kun mittataulu on suhteellisen suuri, lumihiutale on parempi, koska se vähentää tilaa. | Kun mittataulukko sisältää vähemmän rivejä, voimme valita Tähtikaavio. |
Normalisointi / Normalisoinnin poistaminen | Mittataulukot ovat normalisoidussa muodossa, mutta tosiasiataulukko on normalisoimattomassa muodossa | Sekä mitta- että tietotaulukot ovat normalisoimattomassa muodossa |
Tietomalli | Lähestymistapa alhaalta ylöspäin | Ylhäältä alas -lähestymistapa |
Harkitse tietokantaa vähittäiskauppialle, jolla on useita myymälöitä. Jokainen myymälä myy useita tuotteita monissa tuoteryhmissä ja eri tuotemerkeillä. Tällaisen jälleenmyyjän tietovarasto tai tietokampanja tarjoaisi analyytikoille mahdollisuuden ylläpitää myyntiraportteja ryhmiteltyinä myymälän, päivämäärän (tai kuukauden, vuosineljänneksen tai vuoden) tai tuoteluokan tai tuotemerkin perusteella.
Jos tämä data-mart käyttäisi tähtiä, se näyttää seuraavalta:
Esimerkki tähtikaavastaTietotaulukko olisi tietue myyntitapahtumista, kun taas päivämäärälle, myymälölle ja tuotteelle on mittataulukoita. Mittataulukot on kukin kytketty tositaulukkoon pääavaimellaan, joka on vieras avain tosiasiapöydälle. Esimerkiksi sen sijaan, että tallennetaan todellinen tapahtumapäivä päivämäärätaulukon riville, päivämäärä_id tallennetaan. Tämä date_id vastaa ainutlaatuista riviä Dim_Date-taulukossa, ja tämä rivi tallentaa myös muut päivämäärän määritteet, joita tarvitaan ryhmittelyyn raporteissa. esim. viikonpäivä, kuukausi, vuoden neljännes ja niin edelleen. Tiedot on denormalisoitu raportoinnin helpottamiseksi.
Näin saadaan raportti televisioiden määrästä, joita myydään tuotemerkeittäin ja maittain sisäisten liitosten avulla.
Samassa skenaariossa voidaan käyttää myös lumihiutalekaavaa, jolloin se rakenteeltaan seuraava:
Lumihiutalema-esimerkki (napsauta suurentaaksesi)Tärkein ero verrattuna tähtijärjestelmään on, että mittataulukoiden tiedot on normalisoitu paremmin. Esimerkiksi sen sijaan, että kuukausia, vuosineljännestä ja viikonpäivää tallennetaan Dim_Date-taulukon jokaiselle riville, ne jaotellaan edelleen omiin mittataulukoihin. Samoin Dim_Store-taulukossa tila ja maa ovat maantieteellisiä ominaisuuksia, jotka on poistettu yhdellä askeleella - Dim_Store-taulukkoon tallentamisen sijaan ne tallennetaan nyt erilliseen Dim_Geography-taulukkoon..
Sama raportti - televisioiden määrä maittain ja tuotemerkeittäin - on nyt hieman monimutkaisempi kuin tähtijärjestelmässä:
SQL-kysely saadaksesi myytyjen tuotteiden lukumäärän maittain ja tuotemerkeittäin, kun tietokanta käyttää lumihiutalekaavaa.