Hópehely séma adattárház-modellben
⚡ Okos összefoglaló
A Data Warehouse modellezésben a Snowflake Schema normalizált dimenziótáblákat rendez el, amelyek egy központi ténytáblából ágaznak el, egy hópehelyre hasonlítva. Kiterjeszti a csillagsémát, csökkenti az adatredundanciát, és hierarchiákat szervez több kapcsolódó keresőtáblán keresztül.

Mi az a hópehelyséma?
A Hópehely séma Az adattárházban a táblázatok logikus elrendezése egy többdimenziós adatbázisban, amelynek entitáskapcsolati (ER) diagram hópehely alakjára hasonlít. Ez egy dimenziós modell amelyben egy központi ténytábla dimenziótáblákhoz kapcsolódik, és ezek a dimenziótáblák tovább oszlanak kapcsolódó aldimenziótáblákra.
A hópehely séma a csillagséma kiterjesztése. Míg a csillagséma minden dimenziót egyetlen sima táblázatban tárol, a hópehely séma normalizálja ezeket a dimenziókat, az ismétlődő adatcsoportokat további keresőtáblákba osztva. Ez a normalizálás megszünteti a redundanciát, és létrehozza az elágazó, hierarchikus struktúrát, amely a sémának a nevét adja.
Példa a hópehely séma
A következő hópehely sémapéldában egy Értékesítési ténytábla található középen, amelyet olyan dimenziók vesznek körül, mint a Termék, Dátum és Üzlet. Ahelyett, hogy minden attribútumot egyetlen dimenziótáblában tárolnánk, a földrajzi információkat normalizáljuk, így az Ország a saját külön táblázatába kerül.

Itt a Store dimenzió egy City táblára, a City tábla egy State táblára, az State tábla pedig egy Country táblára hivatkozik. Minden érték csak egyszer tárolódik, és egy idegen kulcs kapcsolja össze, így egy országnév soha nem ismétlődik több millió soron keresztül. Ez a réteges normalizálás különbözteti meg a hópehely sémát a flat star sémától.
A hópehelyséma jellemzői
A hópehely sémának számos meghatározó jellemzője van:
- Kisebb lemezterületet használ, mivel a normalizált dimenziótáblák elkerülik az ismétlődő értékek tárolását.
- Új dimenziók viszonylag kevés erőfeszítéssel adhatók hozzá a sémához.
- A lekérdezési teljesítmény csökkenhet, mivel az adatok lekéréséhez sok tábla összekapcsolása szükséges.
- Több karbantartási erőfeszítést igényel, mivel nagyobb számú keresőtáblát kell kezelni.
Hogyan tervezzünk hópehely sémát
A hópehely séma tervezése ugyanúgy kezdődik, mint bármely más dimenziós modellé, majd hozzáad egy normalizálási lépést. A cél az elemezni kívánt üzleti folyamat azonosítása, először csillagsémaként való modellezése, majd a mély hierarchiákat tartalmazó dimenziók normalizálása. A következő lépéseken haladjon végig:
- Azonosítsa az üzleti folyamatot és a szemcséket. Döntse el, hogy mit jelent a ténytábla egyetlen sora, például egy értékesítési tranzakciót, és határozza meg a numerikus mértékeket, vagy tényeket, amelyekről jelentést kell készítenie.
- Készítsd el a központi ténytáblázatot. Adjuk hozzá a numerikus mértékeket az egyes dimenziókra mutató idegen kulcsokkal együtt; ezek az idegen kulcsok általában együtt alkotják az összetett elsődleges kulcsot.
- Definiálja a dimenziótáblákat. Hozz létre egy táblázatot minden leíró dimenzióhoz, például a Termék, Ügyfél, Dátum és Üzlet dimenzióhoz, és rendelj hozzájuk egy helyettesítő elsődleges kulcsot.
- Normalizáld a hierarchiákat. Ossza fel az ismétlődő attribútumokat tartalmazó dimenziókat aldimenzió-táblázatokra, például helyezze át a Kategória dimenziót a Termék dimenzióból, vagy a Város, Állam és Ország dimenziót egy Üzlet dimenzióból.
- Kösd össze a táblákat idegen kulcsokkal. Kapcsolja vissza az egyes aldimenziókat a szülő táblájához, hogy az ágak egyértelmű, egy-a-többhöz hierarchiákat alkossanak, amelyek hópehelyre hasonlítanak.
- Érvényesítés és tesztelés lekérdezésekkel. Reprezentatív jelentéskészítő lekérdezések futtatásával győződjön meg arról, hogy az illesztések helyes eredményeket adnak vissza, és hogy az általános teljesítmény elfogadható marad.
Mivel a terv a harmadik normálforma felé normalizálja az adatokat, az illesztési útvonalakat világosan dokumentálni kell, hogy az elemzők megértsék, hogyan navigáljanak az egyes ágakban. A definiált struktúra után érdemes mérlegelni a séma előnyeit a költségeivel szemben.
A hópehely séma előnyei
A hópehely séma számos előnnyel jár:
- Elsődleges előnye a csökkentett lemezterület, mivel a kisebb normalizált keresőtáblák összekapcsolása elkerüli a dimenzióadatok duplikálását.
- Nagyobb skálázhatóságot biztosít a komponensek és a dimenziószintek közötti kapcsolatokban.
- Eltávolítja a redundanciát, ami javítja az adatok integritását és megkönnyíti a modell karbantartását.
- Egy leíró attribútum csak egy helyen frissül, ami csökkenti az inkonzisztens adatok kockázatát.
A hópehely séma hátrányai
A tervezés során figyelembe veendő kompromisszumokat is kell figyelembe venni:
- A normalizált struktúra növeli a számos kapcsolódó tábla kezeléséhez szükséges karbantartást.
- A több illesztésen átívelő összetett lekérdezéseket nehéz lehet megírni és megérteni.
- A nagyobb számú tábla több illesztést jelent, ami meghosszabbítja a lekérdezések végrehajtási idejét.
- Az üzleti felhasználók gyakran nehezebben navigálnak az elágazó modellben, mint egy egyszerű csillagsémában.
Hópehely séma vs. Csillag séma
A hópehely sémája és a csillag séma az adattárházak két leggyakoribb többdimenziós kialakítása, és a köztük lévő legfontosabb különbség a normalizálás. A csillagséma minden dimenziót egyetlen lapos, denormalizált táblázatban tárol a maximális lekérdezési sebesség érdekében, míg a hópehely séma ezeket a dimenziókat több kapcsolódó táblázatba normalizálja a tárhely megtakarítása és az adatok integritásának védelme érdekében. Emiatt a két séma eltérő prioritásokat elégít ki.
| Aspect | Csillag séma | Hópehely séma |
|---|---|---|
| Mérettáblázatok | Denormalizált, dimenziónként egy tábla | Aldimenziós táblázatokba normalizálva |
| Tárolás | Több helyet használ a redundancia miatt | Kevesebb helyet használ, nincs redundancia |
| Lekérdezés teljesítménye | Gyorsabb, kevesebb csatlakozás | Lassabb, több csatlakozás |
| Lekérdezés összetettsége | Egyszerű írni | Bonyolultabb |
| Legmegfelelőbb | Gyors jelentéskészítés és üzleti intelligenciák | Nagy, hierarchikus dimenziók |
Röviden, válasszon csillag sémát, ha a lekérdezési sebesség és a jelentéskészítés egyszerűsége a legfontosabb, és hópehely sémát, ha a tárolási hatékonyság, a tiszta hierarchiák és az alacsony adatredundancia a prioritás. Sok valódi adattárház mindkét mintát kombinálja az egyes dimenziók méretétől és mélységétől függően.
Mikor használjunk hópehely sémát?
A hópehely séma nem mindig a megfelelő választás, ezért segít a tervet a munkaterheléshez és a jelentéskészítési igényekhez igazítani. Általában a következő helyzetekben működik a legjobban:
- A dimenziók nagyon nagyok és sok ismétlődő attribútumot tartalmaznak, amelyek denormalizáláskor tárhelyet pazarolnak.
- A dimenziók mély, jól definiált hierarchiákkal rendelkeznek, például régió, ország, állam, város szerint, amelyek természetes módon képezhetők le külön táblázatokra.
- Az adatok integritása és konzisztenciája fontosabb a projekt szempontjából, mint a nyers lekérdezések sebessége.
- A tárolási költségek komoly aggodalomra adnak okot, és a hatalmas dimenziótáblák esetén elérhető lemezmegtakarítás jelentős.
- A modell táplálja OLAP olyan eszközök, amelyek hatékonyan képesek navigálni a normalizált hierarchiákban.
Ezzel szemben, amikor az üzleti elemzők számára a gyors és egyszerű jelentéskészítés az elsődleges, akkor általában egy csillagséma vagy egy hibrid csillagklaszter-kialakítás a jobb megoldás. adattárház architektúrák szándékosan ötvözi a két megközelítést a sebesség és a tárhely egyensúlyának megteremtése érdekében.
Mi az a Galaxy Schema?
A Galaxy Schema két vagy több ténytáblát tartalmaz, amelyek megosztják egymás között a dimenziótáblákat. Ténykonstellációs sémának is nevezik, és mivel csillagok gyűjteményének tekinthető, galaxisséma néven is emlegetik.

Amint a fenti példában látható, két ténytábla létezik:
- Revenue
- Termékek
Egy galaxis sémában a ténytáblák között megosztott dimenziókat konform dimenzióknak nevezzük.
A Galaxy Schema jellemzői
A galaxis sémájának a következő jellemzői vannak:
- A dimenziók a hierarchia különböző szintjei alapján különálló dimenziókra vannak osztva.
- Például, ha a földrajznak négy hierarchiai szintje van – régió, ország, állam és város –, akkor a galaxis sémának négy dimenzióval kell rendelkeznie.
- Az ilyen típusú sémát egyetlen csillagséma több csillagsémára való felosztásával lehet felépíteni.
- A sémában szereplő dimenziók nagyok, és a hierarchia szintjeinek megfelelően kell felépíteni őket.
- A séma hasznos a ténytáblázatok összesítéséhez a jobb elemzés és megértés támogatása érdekében.
Mi az a Star Cluster Séma?
A hópehely séma teljesen kibontott hierarchiákat tartalmaz, ami bonyolultabbá teheti a rendszert és extra illesztéseket igényelhet. Egy csillag séma ezzel szemben teljesen összecsukott hierarchiákat tartalmaz, ami redundanciához vezethet. A legjobb megoldás gyakran a két terv közötti egyensúly, amelyet csillag sémaként ismerünk. Cluster Séma.

Átfedésping A dimenziók elágazásokként jelennek meg a hierarchiákban. Elágazás akkor történik, amikor egy entitás szülőként működik két különböző dimenziós hierarchiában. Ezeket az elágazó entitásokat ezután egy-a-többhöz kapcsolatokkal rendelkező osztályozásokként azonosítják, ami korlátozza a terv által létrehozott további táblázatok számát.
