1 / 33

Adattárházak

Adattárházak. 2011.11.26. Láng András. Üzleti Intelligencia. Cél: Jó minőségű adat Helyesen felhasznált információ + tudás + profit. Üzleti Intelligencia Business Intelligence (BI). Üzleti Intelligencia. Adatvagyon menedzsment Adatminőség  konszolidáció, adattisztítás

geri
Download Presentation

Adattárházak

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adattárházak 2011.11.26. Láng András

  2. Üzleti Intelligencia Cél: Jó minőségű adat Helyesen felhasznált információ + tudás + profit Üzleti Intelligencia Business Intelligence (BI)

  3. Üzleti Intelligencia • Adatvagyon menedzsment Adatminőség  konszolidáció, adattisztítás Adatleltár  adatkatalógusok, metaadat-kezelés Törzsadatok  MDM, egyéb törzsadat nyilvántartások • Központi riportfejlesztés és riportmenedzsment Adattárházból  integrált, historikus forrásból Más rendszerekből  forrásrendszerből, adatbázis linken keresztül Törzsadat mulplikátumok felderítése, számuk csökkentése Adatpótlás, helyesbítés érvényes adatokkal Zajok kiszűrése Technikai és üzleti metaadatok nyilvántartása Off-line, on-line metaadat karbantartás Törzsadat-kezelés (Master Data Management) Pl. Központ Ügyféltörzs Pl. címadatszótárak, cégnyilvántartások

  4. Adattárházak létjogosultsága • Egymástól elszigetelt rendszerek Lekérdezés csak az adott rendszer adataira készíthető • Operatív rendszerek Általában csak aktuális adatok Normalizált struktúrák • Adattárház Integrált Historikus Denormalizált adatszerkezet

  5. Az adattárházak jellemzői Az adattárházak olyan adatbázisok, amelyek az elemzésre szánt adatokat • integráltan: több forrásrendszer bevonásával • historikusan: nem csak aktuális, hanem visszamenőleges adatok is rendelkezésre állnak • elemzésre optimalizált formában: denormalizáltan, OLAP struktúrában tartalmazzák.

  6. OLTP  OLAP

  7. Az idő dimenzió Az OLAP rendszerekből kinyert információk szinte mindig valamilyen időszakra/időszakokra vonatkoznak. időszakokat tartalmazó dimenzió szükségessége Az idő dimenzió tartalma előre meghatározható, üzemeltetésszerű, rendszeres töltése nem szükséges. Természetesen ez alól kivétel, amikor új időszakot kell nyitni. Például amikor az idő dimenzió a 2005-2010 évi időszakot tartalmazza, és tudjuk, hogy nemsokára szükség lesz a 2011 évi időszakokra, kiegészítjük azt ezzel az intervallummal. Az idő dimenzió általában az alábbi szintekkel rendelkezik: • év > negyedév > hónap (> nap) és/vagy • év > hét (> nap)

  8. ROLAP MOLAPHOLAP A HOLAP (Hibrid OLAP) rendszerek a ROLAP és a MOLAP rendszerek ötvözete: A kis szemcsézettségű (alacsony szinten lévő) adatokhoz a MOLAP struktúrából a ROLAP struktúrába történő átfúrással juthatunk el.

  9. Normalizáltság Az OLTP rendszerekben az adatok normalizált állapotban tárolódnak, így biztosítva az adatok integritását illetve az adatbázis anomáliák (beszúrási, módosítási, törlési) megelőzését.

  10. Normalizáltság Az OLAP rendszerekben az adatok denormalizált állapotban tárolódnak, ezáltal az adatok tárolása redundáns lesz.

  11. ROLAP rendszerek felépítése A tény- illetve dimenziótáblák háromféle struktúrába rendeződhetnek, azaz egy ROLAP rendszer felépítését tekintve háromféle lehet: • csillag (Star): egy ténytábla van és ahhoz közvetlenül kapcsolódnak a dimenziótáblák • hópehely (Snowflake): egy ténytábla van, de van olyan dimenziótábla, ami egy másik dimenziótáblához kapcsolódik • csillagkép (Galaxy): több ténytábla van és a dimenziótáblák egyszerre több ténytáblához ténytáblához kapcsolódhatnak Csillagkép séma Hópehely séma Csillag séma Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Tény-tábla Tény-tábla Tény-tábla Tény-tábla Tény-tábla Tény-tábla Tény-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla Dimenzió-tábla

  12. ROLAP rendszerek felépítése A ROLAP rendszerek építőelemei: • Dimenziótáblák: egy vagy több hierarchiát tartalmaznak, amelyek szintekre bontódnak (A legalsó szint minden hierarchiában ugyanazokból az elemekből áll. Amennyiben a legfelső szint minden hierarchiánál a teljes összegzettség, úgy (értelemszerűen) ez is azonos és csak egy elemből áll.) • Ténytáblák: dimenzióazonosítókból és tényadatokból épülnek fel A végfelhasználó amit lát, nem más, mint a dimenziókombinációk és a hozzájuk tartozó tényadatok. dimenzió-azonosító: elsődleges kulcs (egyedi) Dimenziótábla Ténytábla dimenzió-azonosító hierarchia 1 szint n … szint 1 hierarchia 2 szint m … szint 1 … hierarchia p szint o … szint 1 hierarchiák: legalább egy, de lehet több is (pl.: ügyfél dimenzió esetén: típus, életkor, cím) dimenzió-azonosítók: idegen kulcsok, kapcsolómezők a dimenziókhoz dimenzió-azonosító 1 … dimenzió-azonosító q tényadat 1 … tényadat r tényadatok: más szóval mértékek, mérőszámok, ezek maguk a megjelenítendő mennyiségek (minden esetben valamilyen aggregátum, például: összeg, átlag, minimum, maximum, szórás, számosság.) szintek: minden hierarchia szintekből épül fel, az elemi szinttől akár a teljes összegzettségig (pl.: ügyfél dimenzió cím hierarchia esetén: ügyfél > település > megye > ország > összes)

  13. Normalizáltság Az OLTP – OLAP struktúraváltás szkriptje az alábbi: select c.*,csr.country_subregion,cr.* from country c,country_subregioncsr,country_regioncr where c.country_subregion_id = csr.country_subregion_id and csr.country_region_id = cr.country_region_id; Az OLAP – OLTP transzformációé pedig ez: create table country as select c.country_id, c.country_iso_code,c.country_name,c.country_name_hist,c.country_subregion_id from countries c; create table country_subregion as select distinctc.country_subregion_id,c.country_subregion, c.country_region_id from countries c; create table country_region as select distinct c.country_region_id, c.country_region from countries c;

  14. ROLAP rendszerek felépítése ROLAP dimenziótábla ROLAP ténytábla (dimenzióként megjelenítve) (adatkockaként megjelenítve)

  15. ROLAP műveletek Csoportosítások (csoportfüggvények alkalmazásával): select t.CALENDAR_YEAR, t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME, sum(c.UNIT_COST) from costs c, times t where c.TIME_ID = t.TIME_ID group by t.CALENDAR_YEAR, t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME order by 1,2,3;

  16. ROLAP műveletek Szűrések (feltételek alkalmazásával): select t.CALENDAR_YEAR, t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME, sum(c.UNIT_COST) from costs c, times t where c.TIME_ID = t.TIME_ID and t.CALENDAR_YEAR = 1999 group by t.CALENDAR_YEAR, t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME order by 1,2,3;

  17. ROLAP műveletek Dimenzió(k) elhagyása: Tételezzük fel, hogy a következő dimenziók léteznek: PRODUCTS, PROMOTIONS, TIMES, CHANNELS Amennyiben így van, az előbbi oldalakon bemutatott lekérdezések dimenziószűkítést alkalmaznak. Az összes dimenziót tartalmazó lekérdezés a következőképpen festene: selectp.PROD_CATEGORY_DESC, pm.PROMO_CATEGORY, t.CALENDAR_QUARTER_DESC, ch.CHANNEL_CLASS, sum(c.UNIT_COST) from costs c,products p, promotionspm, times t, channelsch where c.TIME_ID = t.TIME_ID and c.PROD_ID = p.PROD_ID and c.PROMO_ID = pm.PROMO_ID and c.CHANNEL_ID = ch.CHANNEL_ID groupbyp.PROD_CATEGORY_DESC, pm.PROMO_CATEGORY, t.CALENDAR_QUARTER_DESC, ch.CHANNEL_CLASS order by 1,2,3;

  18. ROLAP műveletek További lehetőségek: • rollup • cube • analitikus függvények Példa a rollup-ra: select t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME, sum(c.UNIT_COST) from costs c, times t where c.TIME_ID = t.TIME_ID and t.CALENDAR_YEAR = 1999 group by rollup(t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME) order by 1,2; Példa a cube-ra: select t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME, sum(c.UNIT_COST) from costs c, times t where c.TIME_ID = t.TIME_ID and t.CALENDAR_YEAR = 1999 group by cube(t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME) order by 1,2;

  19. MOLAP rendszerek felépítése adatkocka tényadat 2500 dimenzió aggregáltság szintek dimenzió dimenzió

  20. MOLAP műveletek felgörgetés felgörgetés lefúrás lefúrás részkocka képzése szeletelés dimenzió elhagyása

  21. MOLAP műveletek – ROLAP műveletek lefúrás –csoportosítás finomítása felgörgetés –összevontabb csoportosítás szeletelés – szűrés egy dimenziónál egy konkrét értékre részkocka képzése –szűrés dimenzió elhagyása –dimenziók szűkítése

  22. Az adattárház helye ED (TS) IS (TS) PS: Operatív rendszer (ProductionSystem) SS: Forrásrendszer (Source System) TS: Célrendszer (Target System) IS: Információs rendszer (Information System) ED: Elektronikus dokumentum (ElectronicDocument) ED IS (TS) IS (TS,SS) IS PS DWH PS ED (PS) OS (PS) OS (PS) OS (PS) OS (PS) PS ED

  23. Az adattárház típusai Célrendszerek információs rendszerek adatpiac réteg transzformációs réteg háromrétegű staging réteg Adattárház adattisztítás, historizálás, struktúraváltás, kalkulációk, szűrés adatpiac réteg kétrétegű staging réteg Forrásrendszerek operatív és egyéb rendszerek

  24. Az adattárház egy lehetséges felépítése Információs rendszerek … IS1 IS2 IS3 IS4 ISn Információ kinyerése Adatpiacok (ROLAP vagy MOLAP struktúrában) Kocka- generálás, Adatpiacosítás Historikus adatok (ROLAP struktúrában) Delta-képzés (historizálás) Adattárház Metaadat-kezelő rendszer Integrált előző napi adatok (ROLAP struktúrában) Struktúraváltás, tisztítás, transzformálás Forrásrendszerek előző napi lenyomata (OLTP struktúrában) Szűrés, közös platformra hozás Forrásrend-szerek … PS1 PS2 PS3 PS4 PSn

  25. Sokrétű felhasználás Komplexitás, erőforrás igény

  26. Az adattárházak felhasználási területei (példák)

  27. Az adattárházak fejlesztése Kétféle fejlesztési metódus: • Big Bang A Big Bang fejlesztés során felmérik a szervezek különböző egységeiben az aktuális és lehetséges (releváns) igényeket, majd felépítik az adattárházat, beleértve az adatpiacokat is. • Inkrementális Az inkrementális fejlesztés alkalmazásánál egy igény jelentkezése során felépítenek egy (esetleg több) adatpiacot. Az igénynek nyilvánvalóan olyannak, kell lennie, amely kielégítése adattárház igénybe vételével lenne célszerű. Az előbbi értelemszerűen hosszabb átfutási idejű ás költségesebb fejlesztést igényel, mint az utóbbi. (Természetesen a változáskövetéssel elkészülő újabb adatpiac verziók is fejlesztés révén valósulnak meg.)

  28. Az adattárházak fejlesztése 1. fejlesztés 2. fejlesztés 3. fejlesztés Az inkrementális fejlesztés ábráján az egy nemegy adatforrást jelez, hanem a fejlesztéshez felhasznált forrásrendszerek halmazát. DM DM DM DM DM DM DWH DWH PS PS PS PS PS PS Inkrementális Big Bang PS

  29. Az adattárházak fejlesztése A fejlesztés menete (mindkét esetben): • Igények felmérése, követelmények meghatározása • Logikai adatmodell elkészítése (az igények lefordítása) • Forrásadatok megkeresése, forrásrendszerek feltérképezése • Fizikai adatmodell elkészítése (platformfüggően valamennyi objektumra) • Megvalósítás • Tesztelés (felhasználói – adattartalmi, performanciális, regressziós) • Ősfeltöltés (az adattárház feltöltése a régebbi adatokkal pl. archív adatbázisokból) A két legalapvetőbb különbség a hagyományos és az adattárház fejlesztés között a fenti 3. és 7. pont. A 3. pont a forrásrendszerek integrálásából , a 7. pont az adatok historikus mivoltából adódik.

  30. Az adattárházak fejlesztése

  31. Üzemeltetési sajátosságok Az adattárház adattartalma folyamatosan nő A tárhely igény folyamatosan, meglehetősen nagy léptékben növekedik Erős szerver választása, újabb diszkek hozzárendelése Az adattárház töltése történhet rendszeresen (naponta, hetente, havonta) vagy ad-hoc jelleggel A rendszeres töltések ütemezetten szoktak végbemenni Ütemezett, egymástól függő áttöltő processzek (egy processz jellemzően egy objektumot tölt

  32. Kérdések?

  33. Köszönöm a figyelmet!

More Related