Ugrás a fő tartalomra

DWH építés fogalmai, elvei 1





- Csillagséma (star schema)
Modellünkben a tényadatok, mutatószámok játsszák a központi szerepet.
A ténytábla normalizálásaként a mutatószámok jellemzőit dimenziók szerint
egy-egy dimenziótáblában gyűjtjük össze, melynek minden elemét egy kulcs azonosít.
Általánosan is igaz, hogy a dimenziótáblák mérete a ténytábla méretéhez képest nagyságrend(ekk)el kisebb


-- DW tervezés lépései
modellezendő üzleti folyamat kiválasztása  pl.: raktárkészlet nyilvántartások
felbontás (granularity) meghatározása      pl.: raktárkészlet termékenként, naponként, raktárhelyiségként, szállítóként, stb.
dimenziók meghatározása, kidolgozása       pl.: termék: név, súly, szín, beszerzési ár, stb.
tényadatok meghatározása                        pl.: raktári mennyiség, súly, érték, minőségi mutatók, stb.


A tervezés első lépése, hasonlóan az álatános  információs rendszerekhez,  itt is a 
lehetséges információigények meghatározása és elemzése. Ennek során kell
feltárni az adattárházban elhelyezendő adatelemeket, a felhasználók igényeinek
elemzésével. Meg kell győződni arról, hogy a megkívánt információ igények
mindegyike kielégíthető a modellbe bevont adatelemekkel.

A tervezés második lépése a  normalizált SDM modell felépítése. Ennek során egy
kiválasztott szemantikai modell segítségével felvázoljuk a modellben előforduló
egyedeket és  a köztük fennálló kapcsolatokat. A modell leírásához
felhasználhatjuk a már ismert SDM rendszereket, így például az ER modell is
alkalmazható e célra.

A tervezés harmadik lépése a tényadatok, vagyis a cellákba tárolandó adatelemek
kiválasztása. A tényadatoknak olyan mennyiségeknek kell lenniük, melyek értéke
igen vontos, meghatározó a vizsgált problématerület szempontjából, s amelynek
más mennyiségektől való függését vizsgáljuk.

A következő lépés a dimenziók feltárása. Ennek során kiválasszuk azon
mennyiségeket, melyek meghatározzák a cellák tartalmát. A cellaértékeknek ezen
mennyiségektől való függőségénekl a vizsgálata,eélemzése lesz majd elkérdezések
fő célja.


Eztkövetően kidolgozásra kerül az egyes dimenziókhoz tartozó  hierrachia
rendszer. Fel kell deríteni, hogymely dimenzióknál van lehetőség és szükség a
többszintű tagértékek kijelölésére. Ha definálható ilyen értékhierarchia, akkor meg
kell határozni az egyes szinteket leíró mennyiségeket, az egyes szintek
azonosítását.


A dimenziók vizsgálatának utólsó lépése az attributumok meghatározása. Ennek
érdekében meg kell vizsgálni, hogy milyen információkra van szüksége a
felhasználónak az egyes dimenziókat illetően, vagyis milyen struktúrát célszerű
felvenni a dimenzió tagértékek tárolására.

A tervezés utólsó lépése a változók megadása, vagyis a cellában tárolt tényadatok
struktúrájának leírása. A struktúra szerkezetéhez  a felhasználói igények elemzésén
keresztül juthatunk el.


-DW bővítés tervezés alapvetően első lépésekben különbözik csak a normál, tiszta lappal induló
tervezéstől. Az ilyenkor használatos lépések a következők:

- relációs modell elemzése, a fűüggőségi kapcsolatok feltáráa
- modell kiterjesztése a szükséges új elmekkel
- tényadatok kiválasztása
- dimenziók meghatározása
- dimenzió hierarchia kijelölés
- attributumok megadása
- változók meghatározása
- séma felrajzolása





-- teljesítmény javítás
- Denormalizáció
Denormalizáció alatt értjük azt az eljárást, mikor a ténytáblában redundánsan eltárolunk járulékos jellemzőket, olyanokat,
melyek a dimenziótáblákban egyébként szerepelnek. Például, a kiskereskedős példánál az elemzéseknél gyakran használják a termék dimenziót,
de abból csak a gyártó jellemzőt. Ekkor, ha a válaszidők nem megfelelőek, a ténytáblába mint oszlop bevesszük a "gyártó" jellemzőt,
így megspórolva egy join műveletet a kiértékelésnél, elbukva viszont tárterületet a redundancia miatt.
Az adattárház rendszerekre általánosan jellemző az elemzési hatékonyság miatti redundáns adattárolás.


- Aggregáció
Aggregáció alatt értjük azt, mikor az adatok valamely szempont szerinti felösszegzett változatát is eltároljuk az adatbázisunkban.
Ez jelentheti egy vagy több dimenzió elhagyását.
Nyilván az aggregációs szintek bevezetésével, használatával a válaszidők jelentősen javulhatnak egyes lekérdezéseknél,
igaz viszont az is, hogy az összegeket minden új adatelem beszúrásánál frissíteni kell.
A kocka materializációja alatt pedig azt értjük, hogy a lehetséges cuboid-ok közül melyeket tárolunk el fizikailag is.


- Particionálás
A ténytábla túl nagyra hízása a teljesítmény rovására megy. Ezt elkerülendő szokás a táblát több ténytáblára vágni,
melyek esetleg akár párhuzamosan is feldolgozhatók lehetnek.



- Több szállosítás
A feladat több processzoron is fut


- Tábla tömörítés (table compressio)
A tárolási blokkok duplikációinak (redundanciájának) megszüntetése blokk visszaállító szótáraksegítségével
Az ilyen tábla változtatása igen kültséges erőforrás szempontjából




--  adatok kinyerése és betöltése az adattárházba - Data Staging Area
ETL Tools: Extraction, Transformation and Load, vagyis olyan eszközök, melyek az adatok kinyerését, transzformációjátm tisztitását
és adattárházba töltését támogatják.

Adatkinyerés az operatív rendszerekből (extraction)
Adattranszformáció (különböző adatformátumok, mértékegységek, nyelvek stb.)
Adatminőség ellenőrzése, adattisztítás (cleaning)
Adatbetöltés az adattárház struktúráiba (loading)

- Adattöltések szabályozó mechanizmusai
"Push" adattöltés: Az operatív rendszerünket felkészítjük arra, hogy az adattárház számára adatokat gyűjtsön, adatokat továbbítson.
Ebben az esetben lentről-felfelé az operatív rendszer kezdeményezi az adatok továbbítását az adattárházba.

"Pull" adattöltés: Az adattárház a megfelelően beállított időintervallumban az operatív rendszerekhez intézett lekérdezésekkel frissíti az adatait.

- adattöltések megkülönböztetése a változások követésének szemszögéből.
Eszerint, ha az operatív rendszerben új vagy megváltozott adatokra vonatkozóan
  csak a változás valamilyen leírását továbbítjuk, delta-töltésről (a változásra utalva),
  ha az operatív rendszer adatait egy az egyben továbbítjuk, teljes-töltésről beszélhetünk.



 
  -- A betöltés folyamán az alábbi kiegészítő, kisérő tevékenységekre lehet szükség:
  - az adatok integritásának ellenőrzése.
- az adatértékek rendezése, a megfelelő tárolási pozició kikeresése
- az adatértékek indexelése, azaz az indexek aktualizáslása
- a kiszámítandó értékek frissítése



- Egyfázisú töltés
az adatokat közvetlenül a céltáblába töltjük;
minőségi teszteket végzünk;
a hibákat javítjuk DML utasítások segítségével, mielőtt a materializált nézetek frissítésre kerülnek;
ha nagyszámú törlés lehetséges, akkor a tárhely használata kedvezőtlen lehet, de a temporális terület használata és a töltési idő minimalizálható.


- Kétfázisú töltés
az adatok először egy átmeneti táblába kerülnek betöltésre;
minőség-ellenőrzési eljárásokat végzünk;
a céltáblákon a referenciális integritási megszorítások kikapcsolása, a célpartíciókon az indexek megjelölése UNUSABLE-ként;
az átmeneti táblából az adatok másolása a céltábla megfelelő partíciójába INSERT AS SELECT használatával, PARALLEL vagy APPEND hint-tel;
az átmeneti tábla eldobása.


A kétfázisú töltésre másik módszer lehet, amennyiben a céltábla particionált:
egy új (üres) partíció létrehozása a céltáblában;
az ALTER TABLE ... EXCHANGE PARTITION utasítással kerülnek be az átmeneti tábla adatai a céltáblába;
megszorítások engedélyezése, rendszerint a NOVALIDATE opcióval.
Az adatok betöltése és az indexek frissítése után az adatbázis működésre megnyitható.




Megjegyzések