Adattárházak Méréstechnika és Információs Rendszerek Tanszék https://www.mit.bme.hu/oktatas/targyak/vimiac04 1
Adatfeldolgozási folyamat Döntés Modell Adatbányászat Adatok kinyerése, transzformálása Adattárház Termelés, Szolgáltatás => Adatbázis Hasznos információ Tudás reprezentázió Tisztított, feldolgozott adatok Nyers adatok
Motiváció Az adattárházak lehetőséget biztosítanak, hogy a termelő és üzleti folyamatokban keletkező adatokból, az üzleti döntések számára releváns információk legyenek kinyerhetők. Hogyan építsünk adattárházat? Hogyan rendezzük adatainkat? Hogyan nyerhetünk ki információt?
Eszközök, felhasználók Döntéshozó Megjelenítési technikák Modellek, szabályok, ábrázolás Adatbányászat Gépi tanulás, MI, Számítási Intelligencia Végfelhasználó Üzleti elemző Adatelemző Adat kinyerés Statiasztikai eszközök, Lekérdezések, Jelentések Adattárházak / Adat piacok OLAP, MDA Adat forássok Papírok, Fájlok, Személyek, Adatbázis rendszerek, OLTP Adatbázis admin.
Tipikus nagyvállalati adattárház Pénzügy Felhasználók Termékek Logisztika Felhasználók Termékek Számlázás Felhasználók Termékek Adattárház Felhasználók Pénzügy Logisztika Számlázás Termékek
Adattárház, mint információs környezet Információs környezet: Olyan folyamatok, eszközök tervezése és implementálása, amelyek alkalmasak elemzésekhez és döntéshozatalhoz szükséges teljes, pontos és áttekinthető információk adatokból történő kinyerésére. Minden olyan tevékenységet magába foglal, amit egy szervezetnek el kell végeznie, hogy egy adattárházat hozzon létre és üzemeltessen
Adattárház definiálása Döntéstámogató adatbázis, amelyet külön üzemeltetnek a szervezet működéséhez kapcsolódó adatbázistól Támogató információ feldolgozó egység, mely egy megbízható, feldolgozott hisztorikus, elemzések céljából összegyűjtött adatokat tartalmaz. A data warehouse is a subject-oriented, integrated, timevariant, and nonvolatile collection of data in support of management s decision-making process. W. H. Inmon Integrátor megközelítés: Kimball modell
Témaorientált Témakörök köré szervezett, pl. vásárlók, termékek, eladások. A döntéshozók számára szükséges adatok modellezéséhez és elemzéséhez kötődik, nem a napi működéshez, illetve adatátvitelhez. Egyszerű és tömör nézetet nyújt a fontos témakörökben, de nem tartalmazza azokat az adatokat, melyek nem fontosak a döntéshozatal szempontjából.
Integrált Több, különböző jellegű adatforrás integrálásával épül fel Relációs adatbázisok, különálló fájlok, online adatátviteli források Adattisztítási és adatintegrációs eszközöket alkalmaznak Amikor az adat bekerük az adattárházba konvertálódik A konzisztenciát az elnevezési konvenciók, struktúrák biztosítják a különböző adatforrások között
Idővariáns Az időhorizont sokkal nagyob mint egy operációs adatbázisban. Operációs adatbázis: aktuális adatok (pl. az elmúlt nap). Adattárház: hisztorikus adatok elemzésére (pl., előző 5-10 év) Minden fontosabb (kulcs) struktúra tartalmaz Idő elemet (explicit vagy implicit módon)
Nem "illékony" Fizikailag külön tárolt, a működési környezetből transzformált adatok. Az üzemvitelből adódó adatfissítés nem fordul elő az adattárházban: Nincs szükség online adatátvitelre, adat mentésre és visszatöltésre, illetve adatkonzisztenciát biztosító eljárásokra Csak két adatkezelési mód megengedett: adattárház töltése és adatok lekérdezése
Adattárház vagy elosztott adatbázisok Hagyományos elosztott, heterogén adatbázis integráció: Wrapper-ek/mediator-ok a heterogén adatbázisok felé illesztve Lekérdezés alapú megközelítésmód Kliens oldali lekérdezés hatására a mediátorban tárolt meta információk alapján a kérés a heterogén adatbázis egy-egy eleméhez kapcsolódó lekérdezésre fordítódik, és az egyes lekérdezések eredményei egy egységes válasszá integráljuk. Adattárház: feltöltés-alapú integritás biztosítása, nagy teljesítményű adatelérés: A heterogén adatforrások információi a lekérdezés előtt kerülnek integrálásra és tárolódnak a központi szerveren Direkt lekérdezésekhez és elemzések
Adattárház alkalmazásai Jelentések a szervezeten belüli információ megosztás hatékony eszköze automatikus riportok (web, e-mail, intranet) egyedi jelentések (infohoz való hozzáférés, munkamegosztás, teljes áttekintés) Statisztika, elemzések Klasszikus statisztikai eszközök Gépi tanulás alapú adatelemzés Valószínűségi modellek építése Minta (szignifikáns) Összefüggések, modellek kinyerése adatbányászat big data
Végfelhasználók igényei Tipikus felhasználók Alkalmi felhasználók ( non-frequent user ) nem érdekli őket az adattárház teljes tartalma, csak időről időre információra van szükségük Előre definiált, friss jelentéseket igénylő felhasználók Speciális érdeklődés, rendszeres időközönként Dinamikus, ad hoc lekérdezéseket igénylő felhasználó Üzletielemző Rendszerfejlesztő, üzemeltető felhasználó Számára minden adat fontos Specializált adatpiacokat alakítanak ki
OLAP (On line Analytical Processing) OLAP ötletét E.F. Codd, a relációs adatbázisok atyja 1993-ban egy Computerworld cikkben vetette fel. Codd szerint a tranzakciós adatbázisok (OLTP) elérték alkalmazásaiknak határait. Igen nagy számítási igény szükséges általános felépítésű nagy méretű adatbázisok lekérdezéseihez. Az operációs adatok sok esetben nem elégségesek a döntéstámogatáshoz, historikus adatok elemzése szükséges. Relációs adatbázis képes válaszolni tipikus kérdésekre, mint Mi?, Mit? Az adattárházak a múltbeli adatok összesítésével képesek válaszolni olyan kérdésekre, mint Mi volt a teljes forgalom az előző öt évben a második negyedévben? Az OLAP célja az adatok elemzése és megértése alapján a Miért?, Mi lenne ha? típusú kérdések megválaszolása.
OLAP OLAP és az adattárház komplementer fogalmak az adattárház tárolja és menedzseli, az OLAP stratégiai információvá alakítja az adatokat Az OLAP alapötlete, hogy a menedzserek képesek legyenek az adatok több dimenziót figyelembe vevő vizsgálatára, térbeli, időbeli eloszlásoknak az elemzésére. Felhasználási területe: Piac szegmentálás, marketing kutatás, termelés tervezés,... A megoldás a sok dimenziós adatbázis ( multi dimensional ).
Codd 12 szabálya 1. Többdimenziós áttekintés 2. Felhasználó számára egyszerű elérhetőség 3. Folyamatos elérhetőség 4. Konzisztens naplók készítése 5. Kliens szerver architektúra 6. Általános dimenzió aggregálás 7. Dinamikus ritka mátrixok kezelése 8. Multi user támogatás 9. Cross dimensional operations 10. Intuitív adatkezelés 11. Rugalmas jelentések 12. Korláttalan dimenziók
OLTP vs. OLAP Felhasználó Funkció Tervezés Adat Használat Elérés Munka egysége Elért rekordok száma Felhasználók száma Méret Mérték OLTP adatrögzítő, informatikus napról napra történő alkalmazás-orientált aktuális, naprakész, részletes, relációkba foglalt izolált Ismétlődő írás/olvasás rövid, egyszerű tranzakciók tizes nagyságrend ezres nagyságrend 100MB-GB Tranzakciós idő OLAP adatelemző döntés támogatás témakör-orientált történeti, összesített, többdimenziós integrált, konszolidált adhoc sok lekérdezés komplex lekérdezés milliós nagyságrend százas nagyságrend 100GB-TB Lekédzezési idő
Mikor hasznláljunk OLAP ot? Az adatok iránti igény nem tranzakciós hanem elemző jellegű Az elemzett információ nem elérhető közvetlen módon Jelentős számítási (pl. összesítés) igény Főként numerikus adatok Az elemek, melyek az adatpontokat definiálják nem változnak időben
Miért külön adattárház? Mindkét megközelítés jó teljesítményt nyújthat: Relációs adatbázis OLTP-re hangolva: közvetlen elérési módok, indexelés Adattárház OLAP-ra hangolva: összetett OLAP lekérdezések, többdimenziós nézet, konszolidáció. Különböző funkciók és különböző adatok: Hiányzó adatok: döntéstámogató rendszer olyan historikus adatokat kíván, melyeket egy tipikus relációs adatbázisban nem tárolnak Adat konszolidáció: pl. heterogén forrásból származó adatok aggregálása, összegzése Adat minőség: Különböző adatforrások általában inkonzisztens reprezentációt alkalmaznak, pl. eltérő idő formátumok
Dimenzionális adatmodellezés Koncepciók I. Tények Kapcsolódó adategységek üzleti egységet, tranzakciót, eseményt jelöl Kulcs tábla, melyben numerikus adatok szerepelnek
Dimenzionális adatmodellezés Koncepciók II. Dimenziók A tények hátterét definiálják (pl. idő, hely, üzletkötő ) Gyakran nem numerikus egységek pl. termék márka, alkalmazott Diagrammokban tengelyként ábrázolva Paraméterek, melyekre OLAP elemzést szeretnénk végezni pl. Idő, Hely, Vásárló...
lnformáció granuláltság, hierarchikus dimenziók Alacsony granuláltság - sok részlet Record Nagy granuláltság - kevés részlet Menedzsment termék típus üzleti év gyár Üzemvezető termék nap üzem Operátor elemek perc berendezés
Koncepciók hierarchiája: Dimenziók hirearhiája összes összes kontinens Európa... Észak-Amerika ország Magyarország... Belgium Kanada... Mexico város Budapest... Vancouver... Toronto kirendeltségek Belvárosi fiók
Dimenzionális adatmodellezés Koncepciók III. Mértékek (Measures) Egy tény numerikus értéke (pl. eladott mennyiség)
Koncepcionális modellezés Csillag diagram: Középen ténytábla körülötte dimenzió táblák Hópihe séma:a csillag séma finomítása ahol a dimenziók hierarchiája normált, azaz kisebb dimenzió táblákra osztott Tény konstellációk: Több ténytábla, csillag sémák összessége, ezért galaxis sémának is hívják Adatkocka
Példa csillag sémára time time_key day day_of_the_week month quarter year branch branch_key branch_name branch_type Measures Eladások tény tábla time_key item_key branch_key location_key units_sold dollars_sold avg_sales item item_key item_name brand type supplier_type location location_key street city province_or_street country
Példa hópihe sémára time time_key day day_of_the_week month quarter year Eladások tény tábla time_key item_key item item_key item_name brand type supplier_key supplier supplier_key supplier_type branch branch_key branch_name branch_type Measures branch_key location_key units_sold dollars_sold avg_sales location location_key street city_key city city_key city province_or_street country
Példa galaxis sémára location_key street city province_or_street country location Eladások ténytábla Measures item_key item_name brand type supplier_type item Szállítások ténytábla time_key item_key shipper_key from_location to_location dollars_cost units_shipped shipper_key shipper_name location_key shipper_type shipper time_key item_key branch_key location_key units_sold dollars_sold avg_sales time time_key day day_of_the_week month quarter year branch branch_key branch_name branch_type
Többdimenziós adatkocka Az eladási mennyiség a termék, az idő, és a régió függvényében Dimenziók: Termék, Hely, Idő Egységek hierarhikus összegzése Iparág Régió Év Kategória Ország Hónap Termék Termék Város Hét Hivatal Nap Idő
Példa adatkockára TV PC Videó sum 1.n.év Idő 2.n.év 3.n.év 4.n.év Teljes éves TV eladás sum U.S.A Kanada Mexikó Ország sum
Tábláktól az adatkockáig Az adatkocka, pl. eladások, lehetővé teszi, hogy több szempont figyelembevételével vizsgáljuk az adatokat: Dimenzió táblák, (pl. árucikk, cikk_név, márkanév, típus), vagy idő(nap, hét, hónap, negyedév, év) Tény tábla mértékeket (pl. dollár_forgalom) és kapcsolatokat tartalmaz melyek a dimenzió táblákhoz kapcsolódnak
Az adattárház felépítése Három tipikus komponens Maga az adattárház, az adatokkal és a hozzá tartozó szoftverrel, Adatgyűtjő (back end) szoftver, mely a külső forrásokból származó adatokat konszolidálja, összegzi és betölti az adattárházba, Kliens oldali (front-end) szoftver, mely lehetővé teszi a felhasználóknak, hogy elérjék és elemezzék az adatokat.
Adattárház struktúrális elemei
Adat források Operációs adatbázisok Hisztorikus adatok Külső adatforrások (internet) Különböző platformokon Különböző módon strukturált információk Nem strukturált források: képek, multimédia, szöveg
Exktrakció/propagálás Különböző forrásokból az adatok gyűjtése Szelektív folyamat (releváns információk) Pulling (kinyerés) Pushing (propagáció)
Transzformáció/tisztítás Kódolások feloldása kódtáblák pl. 1: férfi, 2 nő rejtett üzleti szabályok feloldása pl. számlaszám, vonalkód felépítése Tisztítás (cleaning) hiányzó értékek pótlása normalizálás (pl. egységes deviza használata) konzisztens reprezentáció
Finomítás Rész adathalmazok generálása Számított mezők Információk összegzése (summarize) granuláltság szintjét változtatja pl. heti adatok Információk aggregálása Csoportok generálása pl. termékcsoportok
Adatpiac Speciális döntésekhez szabott előzetesen aggregált információk Végfelhasználók hozzáférésének kontrollálása Speciális információkhoz gyors hozzáférés Végfelhasználók fele interfész Adattárház kiegészítése Egyensúly az adatpiacok száma és specializáltsága (egyszerűsége) között
Meta adatok Kategóriák segítségével struktúrálja az adattárház adatait Téma orientált: a valós egyedek absztrakciói Definiálja, hogy kell a transzformált adatot interpretálni, pl. dátum 5/9/99 A válaszidő becslésére alkalmas, pl. rekordok száma A származtatott változók számításának leírása