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
Kővári AttilaBI tanácsadó, SQL Server [email protected]
Hatékony SQL Server 2005 Analysis Services (SSAS)-alapú BI rendszerek tervezése
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.
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
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)
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
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
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
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, ..)
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
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)
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!
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!
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
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
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ő
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
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)
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.)
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!
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
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.
Hatékony adatkockák tervezése
Használjuk a forrásadat collation-jétVálasszuk a szükséges legkisebb adattípust
Ö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
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