25
Kővári Attila BI tanácsadó, SQL Server MVP www.biprojekt.hu [email protected] Hatékony SQL Server 2005 Analysis Services (SSAS)- alapú BI rendszerek tervezése

Kővári Attila BI tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

  • Upload
    rafael

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

Hatékony SQL Server 2005 Analysis Services (SSAS) -alapú BI rendszerek tervezése. Kővári Attila BI tanácsadó, SQL Server MVP www.biprojekt.hu Kovari.Attila @ biprojekt.hu. Az előadásról. Kinek szól az előadás: - PowerPoint PPT Presentation

Citation preview

Page 1: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Kővári AttilaBI tanácsadó, SQL Server [email protected]

Hatékony SQL Server 2005 Analysis Services (SSAS)-alapú BI rendszerek tervezése

Page 2: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Az előadásról

Kinek szól az előadás:Akik már ismerik valamennyire az Analysis Services-t. Tudnak dimenziót, kockát építeni.

Az előadás céljaHogy segítséget adjon Önöknek hatékony OLAP-alapú vezetői információs Rendszerek, vagy BI megoldások tervezéséhez.

Page 3: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

TematikaMiért használjunk OLAP-ot?Hatékony OLAP rendszerek alapkövetelményeiHatékony

DimenziókAttribútumokHierarchiák tervezése

Az idő dimenzió jelentősége és problémáiAdatkockák tervezési kérdései

Page 4: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Miért használjunk OLAP-ot?Egy jól megépített csillagséma és egy OLAP kocka elemei egymásnak kölcsönösen megfeleltethetőek. (1:1 mapping)

Dimenzió tábla = dimenzió (Adatkocka éle)Ténytábla = Adatkocka cellájaCsillag séma = Adatkocka

Akkor miért használjuk? Lényegesen jobb lekérdezési sebesség (és nehéz úgy megfektetni, mint a relációst)Klasszisokkal jobb riportkészítő és lekérdező eszközök léteznek hozzá, mint a relációshozLényegesen jobb elemzési támogatást nyújt (idősor összehasonlítások)Jogosultság kezelés: A relációs oldalon nehéz olyan jogosultság kezelést kialakítani, hogy valaki láthatja az összegző szint adatait, de részletező sorokat már nem (ad-hoc lekérdezések esetén)

Page 5: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

TematikaMiért használjunk OLAP-ot?Hatékony OLAP rendszerek alapkövetelményeiHatékony

DimenziókAttribútumokHierarchiák tervezése

Az idő dimenzió jelentősége és problémáiAdatkockák tervezési kérdései

Page 6: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony OLAP rendszerek alapkövetelményei

Építsünk jó csillagsémát!Ne bízzuk az Analysis Services-re a csillag séma vagy az ETL folyatat hibáinak, hiányosságainak kijavítását!!!

Ismeretlen dimenzióelem, duplikált dimenzióelem, ismeretlen szülő, … Mind-mind ETL probléma, ott kell megoldani!Hiányzó elsődleges kulcsok, kalkulációk mind-mind csillagséma probléma, ott kell megoldani!

Ha ezen követelményeknek megfelelünk, akkor a problémák java részét kiküszöböltük

Page 7: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Tematika

Miért használjunk OLAP-ot?Hatékony OLAP rendszerek alapkövetelményeiHatékony

DimenziókAttribútumokHierarchiák tervezése

Az idő dimenzió jelentősége és problémáiAdatkockák tervezési kérdései

Page 8: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Dimenziók – Attribútumok – Hierarchiák (alapfogalmak)

DimenziókVizsgálati szempontok (idő, termék, vevő, …)A dimenziók attribútumokból, és hierarchiákból épülnek fel.

Attribútumok Felfogható, mint egy hierarchia szintjei (Év, negyedév, hónap, nap,…)Felfogható, mint dimenzió elemek tulajdonsága (egyszintű hierarchia) (Hét napjai, Munka-, vagy szabadnap)Attribútumok kapcsolata

1:1 es attribútum (pl. egy ügyfél e-mail címe, telefonszáma, …) (ex member property)1:M-es attribútum (Hét napjai)

HierarchiákAz attribútumok láncolata (év alatta negyedév, alatta hónap, …)Fajtái

Természetes (natural)Reporting. (Sió, alatta 1 literes, alatta 12% gyümölcstartalom, ..)

Page 9: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Dimenziók – Attribútumok – Hierarchiák (Tervezés)

Termékcsoport

Gyümölcstart

Kiszerelés

EAN (Cikk kód)

Termék

Attribútumok:

Gyümölcstart

Kiszerelés

Attribútum hier:(1:M Attribútum)

Termékcsoport

Termékek

ALL

(User) Hierarchia

EAN (Cikk kód)

Attribútum reláció(1:1-es Attribútum)AttributeHierarchyEnabled=false

Termék Termékcsoport Gyümölcstartalom Kiszerelés EAN Karton/raqklap

Sió Őszi 25% 1/1 Sió 25% 1 12312312 80

Sió Őszi prémium 1/1 Sió 40% 1 12312313 80

Gr Ananász 100% 1/1 Graninni 100% 1 12312314 80

HC Mild narancs Hohes-C 100% 1 12312315 80

Sió Vitatigris sárga Sió 12% 0,2 12312316 170

Page 10: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony dimenziók tervezése

Használjunk kevés dimenziót (5-10/kocka) sok-sok attribútummal és hierarchiávalÉpítsünk egy „conform” dimenziót (pl. Dátum), és ezekből származtassunk sok-sok szerepjátszó dimenziót (rendelés dátuma, szállítás dátuma, …)Csak azokat az elemeket válogassuk be a szerepjátszó dimenzióba, amelyre az adott téma elemzőjének szüksége lesz (Belföldi vevők, export vevők)

Page 11: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony attribútumok tervezéseEgy attribútum ne legyen egyszerre eleme egy attribútum hierarchiának (Attribute hierarchy), és egy felhasználói hierarchiának (user hierarchy).Csak a szükséges információkból képezzünk attribútumot!Minden attribútum rendelkezzen EGYEDI kulccsal! (Q1 helyett Q1 2007, Q1 2006)A kulcsok legyenek egész számok (mint a surrogate key-k)Állítsuk Rigid-re azon attribútumok RelationshipType tulajdonságát, amelyek nem változnak az időben. (pl. az ügyfél neme)Használjunk default membert a nem aggregálható attribútumokra!

Page 12: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony attribútum relációk tervezéseHasználjunk tranzitív relációkat!

A tranzitív reláció olyan reláció, amely szerint ha az első és második elem, továbbá a második és harmadik elem azonos viszonyban áll egymással, akkor ez a viszony az első és harmadik elem között is fennáll.

Azon attribútumokat kössük össze, amelyek között a valóságban is létezik KÖZVETLEN kapcsolat!Az Analysis Services felismeri és megfelelően használja a tranzitív relációkatA tranzitív reláció segít az aggregáció tervezőnek!

Page 13: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony attribútum relációk tervezésekerüljük a redundáns relációkat!

Megnövelik a dimenzió méretétMegnehezítik az aggregáció tervezéstMegnövelik a felösszegzések időszükségletétSpeciális esetben csupa NULL értéket adhat vissza a lekérdezés

Page 14: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony hierarchiák tervezése

A hierarchiák csak az attribútumok közti kapcsolatot írják le (előre definiált bejárási útvonal)Az attribútumok beágyazásával előállíthatunk ad-hoc hierarchiákat isAkkor miért használjuk?

Mert az ember is használ hierarchiákat fogalmai rendezéséhez.Mert a kliens alkalmazások még hierarchiákra (és nem attribútumokra) vannak optimalizálvaMert segít az aggregáció tervezőnek optimalizálni

Page 15: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony hierarchiák tervezésefolytatás…

Csak természetes hierarchiákat definiáljunk (ország-város; év-negyedév-hónap)Ne definiáljunk reporting hierarchiákat! Ezt bízzuk a felhasználókra (Összes termék, alatta 1 literes kiszerelésűek, alatta alma ízűek, alatta 12%-os gyümölcstartalmúak) klasszikus hiba: ország, alatta vevő

Page 16: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Tematika

Miért használjunk OLAP-ot?Hatékony OLAP rendszerek alapkövetelményeiHatékony

DimenziókAttribútumokHierarchiák tervezése

Az idő dimenzió jelentősége és problémáiAdatkockák tervezési kérdései

Page 17: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony idő dimenzió tervezése

Az idő dimenzió az OLAP-alapú rendszerek lelkeMind a dimenziónak, mind attribútumainak Time típusúnak kell lennie!Az attribútumait rendezni kell! (OrderBy tulajdonság)Mindig teljes évet vegyünk fel!Kódok:

Member key (Mesterséges kulcs: 20070516)Member value (természetes kulcs: 2007-05-16)Member name (május 16, 2007)

Page 18: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony idő dimenzió tervezése

Hierarchia szintenként 2 attribútumHónap attribútum

Elemei: január, 2007; február, 2007; Elemszáma = évek száma * 12Ebből építsünk hierarchiát!

Az év hónapjai attribútum Elemei: január, február, március, … Elemszáma = 12Ez legyen független attribútum (Ezt használjuk szezonalitás vizsgálathoz.)

Page 19: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony idő dimenzió tervezéseYTD, YoY, …

Hova tegyük a YTD, YoY, … kalkulációkat?

Measures?Idő dimenzióba mint attribútum?

Hozzunk létre külön idősor kalkulációk dimenziót!

Page 20: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony idő dimenzió tervezésea problémák:

Gyémánt alak (Diamond shape)Egy dimenzión belül két olyan legfelső szint, ahol nincs ALL member

Page 21: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony idő dimenzió tervezésének problémái: ALL level

Az idő dimenzióra nem teszünk ALL szintet, mert üzletileg nincs értelme!De ha két hierarchiát is használunk, (Pénzügyi, naptári) akkor kénytelenek vagyunk.Megoldás: Vagy ALL szint, vagy csak egyféle hierarchia.

Page 22: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Hatékony adatkockák tervezése

Használjuk a forrásadat collation-jétVálasszuk a szükséges legkisebb adattípust

Page 23: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

Összefoglaló

Építsen jó csillagsémát, és erre ültessen egy OLAP kockát!Használjon kevés „conform” dimenziót sok attribútummalFordítson extra figyelmet az attribútum kapcsolatok tervezéséreCsak természetes hierarchiákat definiáljon

Page 24: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu

További információkOLAP Design Best Practices for Analysis Services 2005 http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/olapdbpssas2005.mspx

Analysis Services 2005 Performance Guide http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SSAS2005PerfGuide.doc

Project REAL: Analysis Services Technical Drilldownhttp://www.microsoft.com/technet/prodtechnol/sql/2005/realastd.mspx

Magyar nyelvű anyagokhttp://www.biprojekt.hu/blog/Analysis_Services_2005.htm

Page 25: Kővári Attila BI  tanácsadó, SQL Server MVP biprojekt.hu Kovari.Attila @ biprojekt.hu