Lumihiutalekaavio tietovarastomallissa
⚡ Älykäs yhteenveto
Tietovarastomallinnuksen lumihiutalekaavio järjestää normalisoidut ulottuvuustaulukot, jotka haarautuvat keskeisestä tietotaulukosta lumihiutaleen tavoin. Se laajentaa tähtikaaviota, vähentää tietojen redundanssia ja järjestää hierarkioita useiden toisiinsa liittyvien hakutaulukoiden kesken.

Mikä on lumihiutalekaavio?
A Lumihiutaleohjelma tietovarastossa on looginen taulukoiden järjestely moniulotteisessa tietokannassa, jonka entiteettisuhdekaavio (ER) muistuttaa lumihiutaleen muotoa. Se on ulottuvuusmalli jossa keskeinen faktataulukko linkittyy ulottuvuustaulukoihin, ja nämä ulottuvuustaulukot jaetaan edelleen toisiinsa liittyviin alidimensiotaulukoihin.
Lumihiutalekaavio on tähtikaavion laajennus. Tähtikaavio pitää jokaisen ulottuvuuden yhdessä erillisessä taulukossa, kun taas lumihiutalekaavio normalisoi nämä ulottuvuudet jakamalla toistuvat tietoryhmät lisähakutaulukoiksi. Tämä normalisointi poistaa redundanssin ja luo haarautuvan, hierarkkisen rakenteen, joka antaa kaaviolle sen nimen.
Esimerkki lumihiutalekaaviosta
Seuraavassa lumihiutalekaavioesimerkissä myyntitietotaulukko on keskellä, ja sitä ympäröivät ulottuvuudet, kuten Tuote, Päivämäärä ja Myymälä. Sen sijaan, että kaikki määritteet tallennettaisiin yhteen ulottuvuustaulukkoon, maantieteelliset tiedot normalisoidaan siten, että Maa siirretään omaan erilliseen taulukkoonsa.

Tässä Store-ulottuvuus viittaa City-taulukkoon, City-taulukko viittaa State-taulukkoon ja State-taulukko viittaa Country-taulukkoon. Jokainen arvo tallennetaan vain kerran ja linkitetään viiteavaimella, joten maan nimeä ei koskaan toisteta miljoonien rivien yli. Tämä kerroksellinen normalisointi erottaa lumihiutale-skeeman flat star -skeemasta.
Lumihiutalekaavion ominaisuudet
Lumihiutalekaaviolla on useita määrittäviä ominaisuuksia:
- Se käyttää vähemmän levytilaa, koska normalisoidut dimensiotaulukot välttävät toistuvien arvojen tallentamisen.
- Uusia ulottuvuuksia voidaan lisätä kaavioon suhteellisen vähällä vaivalla.
- Kyselyn suorituskyky voi laskea, koska tietojen hakeminen vaatii useiden taulukoiden yhdistämistä.
- Se vaatii enemmän ylläpitotyötä, koska on hallittava suurempaa määrää hakutaulukoita.
Kuinka suunnitella lumihiutalekaavio
Lumihiutalemallin suunnittelu alkaa samalla tavalla kuin minkä tahansa dimensiomallin suunnittelu, ja siihen lisätään normalisointivaihe. Tavoitteena on tunnistaa analysoitava liiketoimintaprosessi, mallintaa se ensin tähtimallina ja sitten normalisoida syviä hierarkioita sisältävät dimensiot. Toimi seuraavasti:
- Tunnista liiketoimintaprosessi ja sen sisältö. Päätä, mitä yksittäinen tietotaulukon rivi edustaa, kuten yhtä myyntitapahtumaa, ja määritä numeeriset mittarit eli tiedot, joista sinun on raportoitava.
- Rakenna keskeinen tietotaulukko. Lisää numeeriset mitat ja kuhunkin ulottuvuuteen osoittavat viiteavaimet; yhdessä nämä viiteavaimet muodostavat yleensä yhdistetyn ensisijaisen avaimen.
- Määrittele dimensiotaulukot. Luo yksi taulukko jokaiselle kuvailevalle ulottuvuudelle, kuten Tuote, Asiakas, Päivämäärä ja Myymälä, ja määritä kullekin korvaava ensisijainen avain.
- Normalisoi hierarkiat. Jaa jokainen toistuvia attribuutteja sisältävä ulottuvuus alidimensiotaulukoihin, esimerkiksi siirtämällä kategoria pois Tuote-ulottuvuudesta tai Kaupunki, Osavaltio ja Maa -ulottuvuus pois Myymälä-ulottuvuudesta.
- Yhdistä taulukot viiteavaimilla. Linkitä jokainen alidimensio takaisin päätaulukkoonsa siten, että haarat muodostavat selkeät yksi-moneen-hierarkiat, jotka muistuttavat lumihiutaletta.
- Vahvista ja testaa kyselyillä. Suorita edustavia raportointikyselyitä varmistaaksesi, että liitokset palauttavat oikeat tulokset ja että yleinen suorituskyky pysyy hyväksyttävänä.
Koska suunnittelu normalisoi datan kohti kolmatta normaalimuotoa, dokumentoi liitospolut selkeästi, jotta analyytikot ymmärtävät, miten kussakin haarassa navigoidaan. Kun rakenne on määritelty, kannattaa punnita kaavan hyötyjä sen kustannuksiin nähden.
Lumihiutale-skeeman edut
Lumihiutalekaavio tarjoaa useita etuja:
- Sen ensisijainen etu on pienempi levytila, koska pienempien normalisoitujen hakutaulukoiden yhdistäminen välttää ulottuvuustietojen päällekkäisyyden.
- Se tarjoaa paremman skaalautuvuuden komponenttien ja ulottuvuustasojen välisissä suhteissa.
- Se poistaa redundanssin, mikä parantaa tietojen eheyttä ja helpottaa mallin ylläpitoa.
- Kuvaileva ominaisuus päivittyy vain yhdessä paikassa, mikä pienentää epäjohdonmukaisen datan riskiä.
Lumihiutale-skeeman haitat
Suunnittelussa on myös otettava huomioon kompromisseja:
- Normalisoitu rakenne lisää monien toisiinsa liittyvien taulukoiden hallintaan tarvittavaa ylläpitoa.
- Monimutkaisten kyselyiden, jotka ulottuvat useisiin liitoksiin, kirjoittaminen ja ymmärtäminen voi olla vaikeaa.
- Suurempi määrä taulukoita tarkoittaa enemmän liitoksia, mikä pidentää kyselyn suoritusaikaa.
- Yrityskäyttäjien on usein vaikeampi navigoida haarautumismallissa kuin yksinkertaisessa tähtikaaviossa.
Lumihiutalekaavio vs. tähtikaavio
Lumihiutalekaavio ja tähtiskeema ovat kaksi yleisintä moniulotteista suunnittelutapaa tietovarastoissa, ja niiden keskeinen ero on normalisointi. Tähtiskeema pitää jokaisen ulottuvuuden yhdessä tasaisessa, denormalisoidussa taulukossa kyselynopeuden maksimoimiseksi, kun taas lumihiutaleskeema normalisoi nämä ulottuvuudet useiksi toisiinsa liittyviksi taulukoiksi tallennustilan säästämiseksi ja tietojen eheyden suojaamiseksi. Tästä syystä nämä kaksi skeemaa sopivat eri prioriteetteihin.
| Aspect | Tähtiohjelma | Lumihiutaleohjelma |
|---|---|---|
| Mittataulukot | Denormalisoitu, yksi taulukko ulottuvuutta kohden | Normalisoitu alidimensiotaulukoiksi |
| varastointi | Käyttää enemmän tilaa redundanssin vuoksi | Käyttää vähemmän tilaa, ei redundanssia |
| Kyselyn suorituskyky | Nopeampi, vähemmän liitoksia | Hitaampi, enemmän liitoksia |
| Kyselyn monimutkaisuus | Helppo kirjoittaa | Monimutkaisempi |
| Sopii parhaiten | Nopea raportointi ja liiketoiminta | Suuret, hierarkkiset ulottuvuudet |
Lyhyesti sanottuna, valitse tähtimalli, kun kyselynopeus ja raportoinnin yksinkertaisuus ovat tärkeimpiä, ja lumihiutalemalli, kun tallennustehokkuus, selkeät hierarkiat ja alhainen dataredundanssi ovat etusijalla. Monet todelliset tietovarastot yhdistävät molemmat mallit kunkin ulottuvuuden koosta ja syvyydestä riippuen.
Milloin lumihiutalekaaviota käytetään
Lumihiutalekaavio ei ole aina oikea valinta, joten se auttaa sovittamaan suunnittelun työmäärään ja raportointitarpeisiin. Se toimii yleensä parhaiten seuraavissa tilanteissa:
- Dimensiot ovat erittäin suuria ja sisältävät paljon toistuvia attribuutteja, jotka tuhlaavat tallennustilaa, kun ne denormalisoidaan.
- Dimensioilla on syvät, hyvin määritellyt hierarkiat, kuten alue, maa, osavaltio ja kaupunki, jotka liittyvät luonnollisesti erillisiin taulukoihin.
- Datan eheys ja johdonmukaisuus ovat projektille tärkeämpiä kuin raakakyselyiden nopeus.
- Tallennuskustannukset ovat todellinen huolenaihe, ja levytilan säästöt valtavien dimensiotaulukoiden välillä ovat merkittäviä.
- Malli syöttää OLAP työkaluja, jotka pystyvät navigoimaan normalisoiduissa hierarkioissa tehokkaasti.
Toisaalta, kun liiketoiminta-analyytikoille tarkoitettu nopea ja yksinkertainen raportointi on etusijalla, tähtikaavio tai hybridi tähtiklusterimalli on yleensä parempi ratkaisu. tietovarastoarkkitehtuurit yhdistä tarkoituksella molemmat lähestymistavat nopeuden ja tallennustilan tasapainottamiseksi.
Mikä on Galaxy Schema?
A Galaxy -malli sisältää kaksi tai useampia faktataulukoita, jotka jakavat ulottuvuustaulukoita keskenään. Sitä kutsutaan myös faktatähdistökaavioksi, ja koska sitä voidaan pitää tähtien kokoelmana, se ansaitsee nimen galaksikaavio.

Kuten yllä olevasta esimerkistä näet, taulukoita on kaksi:
- RevEnue
- Tuotteet
Galaksikaaviossa faktataulukoiden kesken jaettuja ulottuvuuksia kutsutaan konformoiduiksi ulottuvuuksiksi.
Galaxy Scheman ominaisuudet
Galaksikaaviolla on seuraavat ominaisuudet:
- Ulottuvuudet on jaettu erillisiin ulottuvuuksiin hierarkian eri tasojen perusteella.
- Esimerkiksi jos maantieteessä on neljä hierarkiatasoa – alue, maa, osavaltio ja kaupunki – niin galaksikaaviossa tulisi olla neljä ulottuvuutta.
- Tämän tyyppinen skeema on mahdollista rakentaa jakamalla yksi tähtiskeema useammiksi tähtiskeemoiksi.
- Tämän skeeman ulottuvuudet ovat suuria ja ne on rakennettava hierarkian tasojen mukaan.
- Kaavio on hyödyllinen faktataulukoiden kokoamisessa paremman analyysin ja ymmärryksen tukemiseksi.
Mikä on Star Cluster Kaavio?
Lumihiutalekaavio sisältää täysin laajennettuja hierarkioita, mikä voi lisätä monimutkaisuutta ja vaatia ylimääräisiä liitoksia. Tähtikaavio puolestaan sisältää täysin supistettuja hierarkioita, mikä voi johtaa redundanssiin. Paras ratkaisu on usein tasapaino näiden kahden rakenteen välillä, joka tunnetaan nimellä tähtikaavio. Cluster Kaavio.

päällekkäisyysping Dimensiot näkyvät hierarkioissa haarukoina. Haarukka tapahtuu, kun entiteetti toimii vanhempana kahdessa eri dimensiohierarkiassa. Nämä haarukkaentiteetit tunnistetaan sitten luokituksiksi, joilla on yksi-moneen-suhteet, mikä rajoittaa suunnittelun luomien lisätaulukoiden määrää.
