DEVQ400-01 Developing OLAP Business Solutions with
Download
Report
Transcript DEVQ400-01 Developing OLAP Business Solutions with
Üzleti igények kielégítése
az SQL Server 2000
Analysis (OLAP) Services
segítségével
Kővári Attila
OLAP csoport vezető
[email protected]
NOVOSYS kft.
http://www.novosys.hu
Tartalom
Alapfogalmak
Az Analysis (OLAP) Server felépítése
Tárolás
Felösszegzés
Adatbázis építés
Mi az OLAP?
Az OLAP-pal szemben támasztott követelmények
OLAP és DW, Adatbázis építés (elmélet)
Eladások elemzése
Pénzügyi modellezés
Nagy mennyiségű adatok kezelése
Elemzés az Interneten keresztül
… 10 évvel ezelőtt
Valamit ki kell találni
Túl sok adat - túl
kevés információ
Do while van
türelmem
Kérdés
Riport
End
A vezetőség a
válaszokat tegnapra
kéri
A megoldás:
A cél:
Egy olyan technológia, vagy adatmodell
kialakítása amely eleget tesz a
következő követelményeknek
Gyorsaság
Felhasználó barátság
Elemzés/Döntés központúság
Új fogalom született: OLAP
Mi az OLAP?
2. A szó jelentése
Betűszó: On-Line Analytical Processing
Az “On Line” kifejezés jelentése az OLAP
szóban:
OLAP ≠ On Line adathozzáférés a tranzakciós
rendszerekhez:
OLAP = Egy tetszőleges döntés meghozatalához
szükséges információ lekérdezése nem lehet több,
mint néhány másodperc
A gyorsaság megvalósítása
Ahhoz, hogy a gyorsaság
megvalósuljon szakítanunk kell a
meglévő adatmodellekkel, az
elemzéshez szükséges információkat
egy új helyen vagy modellben kell
tárolni
A gyorsaság megvalósítása
három lehetőség
I. Új adatmodellek kialakítása relációs
alapokon (Csillag és hópihe sémák)
II. Új tárolási struktúra kialakítása.
Kialakult a többdimenziós adatbázis
III. A kettő előnyeit ötvöző új technológia
kialakítása
ROLAP, MOLAP(OLAP), HOLAP
A gyorsaság megvalósítása
Szeparált adatbázisok
Működtető
rendszerek
Döntés támogató
(OLAP)
Rendszerek
Az elemzéshez
Szükséges
információk
átemelése
Elemi tranzakciók
Egyirányú, periódikusan
ismétlődő, ellenőrzött
folyamat
Elemi és aggregált
adatok
Az elemzés központúság
megvalósítása
1. Technikai követelmények
Csak és kizárólag a döntéshozáshoz és
elemzéshez szükséges információk
tárolása
Aggregáltság
idősor
Az elemzés központúság
megvalósítása
1. Funkcionális követelmények
Többdimenziós BelföldKülföld
Össz. Vevő
nézet
Szeletelés
300 330
Összes
Lefúrás
cikk 150 160
Rotálás
Almaíz 100 110
Beágyazás
Narancsíz
50
60
360
390
170
180
120
130
70
80
Q3
Q4
Barackíz
Q1
Q2
Az elemzés központúság
megvalósítása
2. Adatbázis Objektumok
Adatbázis
Adatkocka
Dimenziók
Hierarchiák
Mértékek
Külföld
Belföld
Össz. Vevő
300
330
360
390
cikk
150
160
170
180
Almaíz
100
110
120
130
50
60
70
80
Q3
Q4
Összes
Narancsíz
Barackíz
Q1
Q2
Összefoglalás
1.
Az OLAP egy technológia: Lehet relációs és
többdimenziós és mindkettő
A Kulcs:
Sebesség (lekérdezés sebessége):
Függ
Tárolás típusa,
Dimenzió elemeinek számától
Adatbázis méretétől dimenziók számától NEM
Elemzési képesség
Függ:
Adattartalom
Kliens
Összefoglalás
2.
OLAP
Stratégiai döntéshozatalt
Támogató többdimenziós
rendszerek
Működtető
rendszerek (OLTP)
Lassú adatbeolvasás
Napi működést támogató
tranzakciós rendszerek
Könnyen és gyorsan
(Mission Critical)
Elkészíthető
Gyors adatbeolvasás és
Komlex
hatékony tárolás
lekérdezések
Nehezen, lassan
elkészíthető komplex
lekérdezések
Táblázatkezelők
Kevés adat
hatékony elemzése
Inkonzisztencia
(hiányzó
kódrendszer)
Összefoglalás
3.
OLAP technológiát használhatnak a
következő rendszerek
Vezetői Információs Rendszerek
(Management Information System), (VIR,
MIS)
Döntéstámogató Rendszerek (Desision
Support System, DSS)
üzleti intelligencia (Business intelligence,
BI)
EIS (Executive Information System)
Tartalom
Alapfogalmak
Az Analysis (OLAP) Server felépítése
Tárolás
Felösszegzés
Adatbázis építés
Mi az OLAP?
Az OLAP-pal szemben támasztott követelmények
OLAP és DW, Adatbázis építés (elmélet)
Eladások elemzése
Pénzügyi modellezés
Nagy mennyiségű adatok kezelése
Elemzés az interneten keresztül
OLAP és Data Warehousing
A folyamat
Adattárház, adatraktár
OLAP
OLTP
adatok
Transzformáció
Külső
adatok
Az OLAP a felhasználók eszköze
Felhasználók
Adatbázis építés (elmélet)
Relációs elemek
Többdimenziós adatbázis építéséhez
szükségesek a következő elemek*
Dimenzió táblák
Tény táblák
Ezek kapcsolatát leíró csillag séma
vagy hópihe séma
* Nem szükséges SQL srv, de célszerű
Adatbázis építés (elmélet)
Dimenzió tábla
VevoCode
VevoDesc
RegioCode OrszCode
key1met
Metro
Regio1
H
key1int
Interfruct
Regio1
H
key2pro
Profi
Regio2
H
Nemzbul
Shifer
NULL
D
A dimenzió táblák tartalmazzák az egyes
dimenzióértékek azonosítóit, megnevezéseit,
tulajdonságait, és szülő-gyerek kapcsolatukat
A dimenzió táblák denormalizáltak
Adatbázis építés (elmélet)
Dimenzió tábla
A dimenziót leíró információkat
elhelyezhetjük egy vagy több táblában
Ha egy dimenzión több különböző
szintszámú hierarchia helyezkedik el
akkor célszerű külön táblában tárolni.
Adatbázis építés (Elmélet)
Tény táblák
Dátum
Dimenziók
Cikk
Vevő
Liter
Mértékek
Forint
A tény tábla az adatkocka relációs
megfelelői
Adatbázis építés (elmélet)
Tény tábla
Datum
99/1/1
99/1/1
99/1/1
99/1/1
99/1/2
99/1/2
99/1/2
99/1/2
Cikk
ALMA10
ALMA10
Kajszi10
Kajszi10
ALMA10
ALMA10
Kajszi10
Kajszi10
Vevo
Key1int
Key1met
Key1int
Key1met
Key1int
Key1met
Key1int
Key1met
Liter
250
92
105
81
125
302
144
171
Forint
3 295
1 422
1 750
1 090
2 105
3 988
2 675
3 009
Adatbázis építés (elmélet)
A csillag séma
A csillag séma tartalma
Egy központi tény tábla
dimenzió táblák
csillag
formát alkotva
Adatbázis építés (elmélet)
Csillag séma
Tény tábla
Dimenzió tábla
Adatbázis építés (elmélet)
Hópehely séma
A dimenzió hierarchiáját több dimenzió
tábla írja le
Normalizáltabb, mint a csillag séma
Gyengébb teljesítmény
Nehezebben átlátható
Adatbázis építés (elmélet)
Hópehely séma
Dimenzió
táblák
Tény tábla
OLAP és Data Warehousing
Adatbetöltés
OLTP
adatok
DTS
Külső
adatok
DW
tároló
OLAP
Server
OLE DB
for OLAP,
ADO-MD Ügyfél
alkalmazás
OLAP és Data Warehousing
A költségek kocka feltöltése
Az előadás végén árbevétel arányos
nyereséget fogunk számítani
Költségek kocka
Értékesítés kocka
Költségek kocka felépítése
Dimenziók: Cikkek, Időszakok,
mutatószámok(fix és vált ktg.)
Mértékek: Ft
Demo…
Összefoglalás
OLAP helye a DW terminológiában
Csillag és hópihe sémák
Hogyan tölthetjük fel a relációs
adatbázist és a kockákat
Tartalom
Alapfogalmak
Az Analysis (OLAP) Server felépítése
Tárolás
Felösszegzés
Adatbázis építés
Mi az OLAP?
Az OLAP-pal szemben támasztott követelmények
OLAP és DW, Adatbázis építés (elmélet)
Eladások elemzése
Pénzügyi modellezés
Nagy mennyiségű adatok kezelése
Elemzés az Interneten keresztül
Analysis Services felépítés
Analysis Services
Analysis
Server
OLAP
tároló
Feldolgozás
OLAP
motor
Data
Mining
motor
TCP/IP
HTTP
Lekérdezés
Alkalmazás
Egyéb
OLE DB
adatforrás
ADO MD
DSO
PivotTable Service
SQL Server
Data
Warehouse
OLEDB for OLAP
OLE DB for DM
Analysis
Manager
Analysis Services felépítés
Rugalmas OLAP tároló
A felhasználók és az alkalmazások csak
a kockát, mint struktúrát látják
Analysis Services felépítés
Client/Server gyorsítótár
Lekérdezés 1: Jan98, Feb98,
és Mar98 eladások
Lekérdezés 2:
Q1 98 eladások
Kliens
A kliens
is számol
1) Jan98, Feb98, és
Mar98 eladások
2) Q1 98 eladások
Lekérdezés 3:
Q1 98 & Q1 97 eladások
3) Q1 97 eladások
Szerver
Csak a Q1 97
kell
1) Jan98, Feb98, és
Mar98 eladások
3) Q1 97 eladások
Analysis Services felépítés
Adattárolás - nincs adatrobbanás
Adatrobbanás
Más OLAP rendszerek régi problémája
100% sűrű tárolás
Az üres cellákat nem tároljuk
Intelligens összegzések
Üres cellák tárolása
Összegzések tárolása
Csak a lehetséges összegzések egy (kis)
részét számítjuk ki előre
Adattömörítő algoritmusok
Analysis Services felépítés
Részleges aggregálás 1.
Analysis Services felépítés
Részleges aggregálás 2.
Kérem az összes
eladást, az összes
termékre, az
összes . . .
Az összegzés
legmagasabb szintje
Legrészletesebb
összegzések
Tény tábla
Tartalom
Alapfogalmak
Az Analysis (OLAP) Server felépítése
Tárolás
Felösszegzés
Adatbázis építés
Mi az OLAP?
Az OLAP-pal szemben támasztott követelmények
OLAP és DW, Adatbázis építés (elmélet)
Eladások elemzése
Pénzügyi modellezés
Nagy mennyiségű adatok kezelése
Elemzés az interneten keresztül
Értékesítés elemzése
Üdítő italok értékesítésével foglalkozó
vállalat
Dimenziók
Cikk (Kiegyensúlyozott)
Időszak (Kiegyensúlyozott)
Vevő (NEM kiegyensúlyozott)
Mértékek
Ft, Liter
Értékesítés elemzése
Kiegyensúlyozott hierarchiák
ország
Mo
Reg1
Győr
Miskolc
Régió
Reg3
Pécs Komló
Paks
város
Egyforma dimenzió szintek
Zeg
Reg2
Azonos mélység
Nincsenek rések
Adott szinten minden tagnak ugyanannyi őse van
Értékesítés elemzése
Szakadozott hierarchiák
All
Magyaro.
Régió1
Győr
Lengyelo.
Régió2
Zeg
Miskolc
Nincs vagy
Nem szükséges
Krakkó
Varsó
ország
Régió
város
Eltérő mélység
Demo…
Értékesítés elemzése
TovábbFúrás (Drill-through)
Régió 1
2000. Január
Cikk
Liter
Alma
66
Ananász
Birsalma 100
Ft
300
10
10
Dátum
1-Jan
5-Jan
9-Jan
10-Jan
17-Jan
24-Jan
SzlaSzám Ft
6.5
1234
20
1235
7.25
1236
6.75
1237
5.75
1238
20
1239
Demo…
Értékesítés elemzése
Actions
Linkek
Kapcsolódhatnak
Office dokumentumhoz
Internet/Intranet oldalakhoz
Futtatható állományokhoz… stb…
Cellákhoz
Dimenzió értékhez
Dimenzióhoz
Kockához
Pl.: Szerződések
Demo…
Értékesítés elemzése
Multi-Dimensional Expressions (MDX)
Lekérdező nyelv
Számított mezők
Biztonsági szabályok az MDX
segítségével beállíthatók
Actions
Az OLE DB for OLAP spec. része
TM1, SAS, Analysis Services, Whitelight,
stb.
Értékesítés elemzése
A kocka részei
A kocka cellákból áll
Minden cellának van egy címe
Egy-egy koordináta, minden dimenzió
szerint
Egy cellához az összes
koordinátájának meghatározásával
juthatunk el
Értékesítés elemzése
(Cikk.barackital ,
Time.Q2,
Vevo.[Vevők összesen])
(Cikk.Narancsital ,
Time.2000, Vevo.[Vevők összesen])
(Cikk.[Cikkek összesen] , Time.Q1,
Vevo.külföld)
Külföld
Belföld
Vevők összesen
Cikkek összesen
Almaital
Narancsital
Barackital
Q1
2000
Banánital
Értékesítés elemzése
Rendezett n-esek (tuples)
(Cikk.Almaital, Time.Q2, Vevo.[Vevők összesen])
KÜLÖNBÖZŐ dimenziókból
származó tagok vesszővel
elválasztott listája
(Cikk.Almaital, Time.Q2) =
(Cikk.Almaital, Time.Q2, Vevo.CurrentMember)
Értékesítés elemzése
Halmazok
AZONOS dimenziókból
származó tagok vesszővel
elválasztott listája
{Almaital, Barackital}
[1999].Children
Sum(Time.members)
Demo…
Tartalom
Alapfogalmak
Az Analysis (OLAP) Server felépítése
Tárolás
Felösszegzés
Adatbázis építés
Mi az OLAP?
Az OLAP-pal szemben támasztott követelmények
OLAP és DW, Adatbázis építés (elmélet)
Eladások elemzése
Pénzügyi modellezés
Nagy mennyiségű adatok kezelése
Elemzés az interneten keresztül
Pénzügyi modellezés
Szülő-gyerek dimenziók
Árbevételarányos
nyereség
Nyere:
ség
Árbev
Fedezet
Fix
költség
Árbev
Vált.
Költség
Dim érték
Arbev
ValtKTG
Fedezet
FixKtg
Nyereseg
Arbev2
ArbevNyer
Szülő
Fedezet
Fedezet
Nyereseg
Nyereseg
ArbevNyer
ArbevNyer
Demo…
Pénzügyi modellezés
Visszaírás (write-Back)
A kockán engedélyezni kell a visszaírást
Az adatkocka tetszőleges cellájába
írhatunk vissza
Nem közvetlenül a kockába, vagy a tény
táblába írunk
Változás tábla a relációs adatbázisban
Az Office 2000-ben nincs felhasználói
felület a visszaírásra
Pénzügyi modellezés
Biztonság
Cella adatára vonatkozó jogosultság
Dimenzió értékre vonatkozó jogosultság
Cella szint
Alkalmazott
Összes
fizetés
Terület
Kelet
50
N/A
16 500
Közép
75
$7,600
20 625
Alkalmazott
Terület
Nyugat
35
N/A
10 500
Kelet
50
16 500
Közép
75
20 625
Nyugat
35
10 500
Dimenzió elem
Tartalom
Alapfogalmak
Az Analysis (OLAP) Server felépítése
Tárolás
Felösszegzés
Adatbázis építés
Mi az OLAP?
Az OLAP-pal szemben támasztott követelmények
OLAP és DW, Adatbázis építés (elmélet)
Eladások elemzése
Pénzügyi modellezés
Nagy mennyiségű adatok kezelése
Elemzés az interneten keresztül
Nagy mennyiségű adatok
Élő példa (még SQL 7-en)
Jellemzők
Felösszegzési idők
Dimenziók száma
Hierarchiák száma
Cellák száma
…
Válaszidők
…
Nagy mennyiségű adatok
Particionálás
Aktuális év
Előző év
Régi adatok
MOLAP
35% Agg
HOLAP
20% Agg
ROLAP
0% Agg
Eltérő tárolási módok, aggregáltsási szintek
Több kiszolgáló támogatása
Nagy mennyiségű adatok
Nagyon nagy dimenziók támogatása
"Large" MOLAP dimenziók
"Huge" ROLAP dimenziók
Több 100 millió tag
Új fajta virtuális dimenzió támogatás
Nem memória rezidens (10 millió tagig)
Nincs kihatással a tárolásra
Nincs probléma a dimenzió tagjainak számával
Több hierarchia szint támogatása
Egy dimenzió tagnak >64K gyereke lehet
Automatikus gyűjtő szint beiktatása
Opcionálisan látható
Elemzés az Interneten
Virtuális és kapcsolt kiszolgálók
Helyi és távoli kockák összekapcsolása
Belső és külső kockák
East
Sales
West
3rd-Party –
External
Kérdések?
Könyvek
Microsoft OLAP Solutions by Eric
Thomsen
OLAP Solutions – Building
Multidimensional Information systems
by Eric Thomsen
Microsoft OLAP Unleashed by Tim
Peterson
További információk
WWW.OLAPINFO.HU
www.microsoft.com/sql/productinfo/olap.htm
www.olaptrain.com
www.olapreport.com
www.microsoft.com/sql/
msdn.microsoft.com
www.microsoft.com/sql/bizsol/datawarehousing.htm