Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "Adattárházak 2011.11.26. Láng András."— Előadás másolata:

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

2 Business Intelligence (BI)
Ü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 OLTP OLAP szerkezet normalizált denormalizált orientáció
tranzakciók lekérdezések időszak aktuális historikus felhasználók számának nagyságrendje 100 – 1000 1 – 10 jellemző műveletek DQL, DML DQL, ETL tárhely igény nagyságrendje MB – GB GB – TB elvárt rendelkezésre állás folyamatos időszakos

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 é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 MOLAP HOLAP ROLAP MOLAP Adatbázis típusa Relációs Multidimenzionális Építőelemek Ténytáblák, dimenziótáblák Adatkockák, dimenziók Adatok szemcsézettsége Gyakran elemi is Jellemzően csak aggregált Tárhely igény Kisebb Nagyobb (az adatkocka üres cellái is helyet foglalnak) Műveletek SQL műveletek: csoportfüggvények, analitikus függvények Lefúrás, felgörgetés, szeletelés, részkocka képzése 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. COUNTRY_ID COUNTRY_ISO_CODE COUNTRY_NAME COUNTRY_NAME_HIST COUNTRY_SUBREGION_ID 52790 US United States of America 52797 52776 DE Germany 52799 52789 GB United Kingdom 52784 NL The Netherlands 52780 IE Ireland 52777 DK Denmark 52779 FR France 52778 ES Spain 52788 TR Turkey 52786 PL Poland 52795 52775 BR Brazil 52798 52773 AR Argentina 52783 MY Malaysia 52793 52782 JP Japan 52781 IN India 52774 AU Australia 52794 52785 NZ New Zealand 52791 ZA South Africa 52792 52787 SA Saudi Arabia 52796 52772 CA Canada 52771 CN China 52769 SG Singapore 52770 IT Italy COUNTRY_SUBREGION_ID COUNTRY_SUBREGION COUNTRY_REGION_ID 52799 Western Europe 52803 52797 Northern America 52801 52798 Southern America 52792 Africa 52800 52795 Eastern Europe 52794 Australia 52805 52796 Middle East 52804 COUNTRY_REGION_ID COUNTRY_REGION 52803 Europe 52801 Americas 52804 Middle East 52802 Asia 52805 Oceania 52800 Africa

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. COUNTRY_ID COUNTRY_ISO_CODE COUNTRY_NAME COUNTRY_NAME_HIST COUNTRY_SUBREGION_ID COUNTRY_SUBREGION COUNTRY_REGION_ID COUNTRY_REGION 52790 US United States of America 52797 Northern America 52801 Americas 52776 DE Germany 52799 Western Europe 52803 Europe 52789 GB United Kingdom 52784 NL The Netherlands 52780 IE Ireland 52777 DK Denmark 52779 FR France 52778 ES Spain 52788 TR Turkey 52786 PL Poland 52795 Eastern Europe 52775 BR Brazil 52798 Southern America 52773 AR Argentina 52783 MY Malaysia 52793 Asia 52802 52782 JP Japan 52781 IN India 52774 AU Australia 52794 52805 Oceania 52785 NZ New Zealand 52791 ZA South Africa 52792 Africa 52800 52787 SA Saudi Arabia 52796 Middle East 52804 52772 CA Canada 52771 CN China 52769 SG Singapore 52770 IT Italy

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 Csillag séma Hópehely séma Csillagkép 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 hierarchia p szint o 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_subregion csr, country_region cr 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 distinct c.country_subregion_id, c.country_subregion, c.country_region_id create table country_region as select distinct c.country_region_id, c.country_region

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; CALENDAR_YEAR_NAME QUARTER_OF_YEAR MONTH_OF_YEAR SUM(C.UNIT_COST) 1998 1 267075,27 2 223557,36 3 168231,81 4 139356,61 5 151632,71 2001 8 375737,07 9 298819,95 10 305243,79 11 290580,86 12 450160,26

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; CALENDAR_YEAR_NAME QUARTER_OF_YEAR MONTH_OF_YEAR SUM(C.UNIT_COST) 1999 1 218920,74 2 214401,62 3 133037,95 4 113051,94 5 123442,13 6 116762,91 7 130807,69 8 130646,56 9 125848,42 10 107763,99 11 106420,43 12 226298,69

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: select p.PROD_CATEGORY_DESC, pm.PROMO_CATEGORY, t.CALENDAR_QUARTER_DESC, ch.CHANNEL_CLASS, sum(c.UNIT_COST) from costs c, products p, promotions pm, times t, channels ch 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 group by p.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: group by cube(t.CALENDAR_QUARTER_DESC, t.CALENDAR_MONTH_NAME)

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 PS: Operatív rendszer (Production System)
ED (TS) IS (TS) IS (TS) IS (TS,SS) ED PS: Operatív rendszer (Production System) SS: Forrásrendszer (Source System) TS: Célrendszer (Target System) IS: Információs rendszer (Information System) ED: Elektronikus dokumentum (Electronic Document) IS PS DWH PS ED (PS) PS OS (PS) OS (PS) OS (PS) OS (PS) ED

23 Az adattárház típusai adatpiac réteg transzformációs réteg
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) Metaadat-kezelő rendszer Adattárház 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 Komplexitás, erőforrás igény
Sokrétű felhasználás Adatbányászat Rejtett összefüggések algoritmus segítségével vagy manuálisan történő feltérképezése, számszerűsítése. Mutatószámok képzése Kulcsfontosságú (KPI) mutatószámok előállítása és prezentálása közérthetó, esztétikus formában. Elemzések készítése Nagy mennyiségű információ megjelenítése úgy, hogy az szükség szerint szűrhető, kategorizálható legyen. Riportok, jelentések készítése Táblázatos vagy azzá alakítható formátumú, rögzített adattartalommal rendelkező lekérdezések eredménytáblái. Operatív/front-end rendszerek ellátása adatokkal Jellemzően tételes, könnyen származtatható adatok előállítása és továbbítása. Általában kiemelt fontosságú a rendelkezésre állás. Komplexitás, erőforrás igény ID Name Type Relevant 324 Szabó C y 321 Hajnal B n

26 Az adattárházak felhasználási területei (példák)
A kinyert információ felhasználása Végfelhasználó Rövid- és hosszútávú stratégiai döntések meghozatalához szükséges jelentések Felső- és középvezetők, a menedzsment Jelentésszolgálat a felügyeleti szervek felé A jelentéseket szolgáltató területek dolgozói (illetve később természetesen az érintett felügyeleti szerv dolgozói) Multinacionális vállalatok esetén adatszolgáltatás az anyavállalat felé Az anyavállalatnál dolgozó elemzők illetve a csoportszintű menedzsment tagjai A szervezet normális működéséhez szükséges elemzések például egy bankban a hitelkockázat-elemzési területen dolgozó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
Az inkrementális fejlesztés ábráján az egy nem egy adatforrást jelez, hanem a fejlesztéshez felhasznált forrásrendszerek halmazát. 1. fejlesztés 2. fejlesztés 3. fejlesztés 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
Előny (+)/Hátrány (-) Big Bang Inkrementális Igények felmérése - Az egyes szervezeti egységek nem biztos, hogy szükségét érzik a fejlesztésnek, ezért az együttműködés csorbát szenvedhet. + Mivel az érintett terület nyújtotta be az igényt, bizonyosan teljes mértékben együttműködik. Többletmunka újabb igények felmerülése esetén Általában már tartalmazza az adattárház a szükséges adatokat. Gyakran nem tartalmazza még az adattárház a szükséges adatokat. Fejlesztési, üzemeltetési költségek Fejlesztés időigénye Sokszorosa az inkrementálisnak. Töredéke a Big Bang-nek. Tárhely igény Már a kezdetekkor nagy. Eleinte kevesebb, az egyes inkrementumok beépülésével nő.

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!


Letölteni ppt "Adattárházak 2011.11.26. Láng András."

Hasonló előadás


Google Hirdetések