kővári attila független bi tanácsadó, sql server mvp biprojekt.hu

23

Upload: tasha

Post on 19-Mar-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Adattárház építése az SQL Server 2005 Integration Services (SSIS) segítségével. Kővári Attila Független 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: Akik már ismerik valamennyire az SSIS-t - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kővári Attila Független BI  tanácsadó, SQL Server MVP biprojekt.hu
Page 2: Kővári Attila Független BI  tanácsadó, SQL Server MVP biprojekt.hu

Kinek szól az előadás:Akik már ismerik valamennyire az SSIS-tAkik nem most hallanak először a BI-ról és az adattárházról

Az előadás céljaA legjobb módszerek bemutatásaHogy Önök hatékony ETL folyamatokat valósítsanak meg az SSIS segítségével

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

Az SSIS Gyors áttekintéseHatékony ETL folyamat megvalósítása az SSIS segítségévelTeljesítmény-hangolás

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

Projekt- tervezés

Projektmenedzsment

Üzl

eti i

gény

ek m

egha

táro

zása

Architektúra- tervezés

Eszköz- választás és

telepítés

Fizikai tervezés

Adatbetöltők tervezése és fejlesztése

Felhasználói felület /alk.

tervezés

Felhasználói felület /alk. fejlesztés

Üzembe- helyezés, oktatás

Növekedés

Karbantartás

Dimenzionális modellezés

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

Adatbetöltő eszköz, a MS ETL eszközeRésze az SQL Server 2005 programcsomagnakGrafikus programozási interfészNem DTS!

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

Az SSIS Gyors áttekintéseHatékony ETL folyamat megvalósítása az SSIS segítségévelTeljesítmény-hangolás

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

Érvek a fájlrendszer mellettKönnyebb Source control alá helyezni egy fájlt, mint egy adatbázistKönnyebb fájlt verziózni, mint adatbázistEgyszerűbb menteni és visszaállítani, mint az msdb adatbázistEgyszerűbben betölti a BI Studio az SSIS csomagokat fájlból, mint adatbázisbólHierarchikusan rendezhetjük az SSIS csomagokat

Érvek az adatbázis mellettA napi mentések során SSIS csomagjaink automatikusan mentődnek.

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

A minden package által használt beállításokat tegyük szeparált konfigurációs állományba (pl elérési utak)Minden package ugyanabból a konfigurációs állományból olvassa ki a beállításokat!Hol tároljuk a konfigurációs beállításokat?

XML konfigurációs állomány Környezeti változó Registry bejegyzésHívó package változójábanSQL Server

Best practice: Adatforrásonként, beállításonként egy XML fájl és Windows környezeti változók használata (Indirect XML Configuration file)

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

Készítsünk naplót, hogyPontos képet kapjunk betöltési folyamataink eredményérőlStatisztikákat készíthessünkLáthatóvá tegyük, hogy épp melyik folyamat futFuttatandó betöltések (SSIS csomagok, task-ok) szabályozása

Készítsünk háromszintű naplót (Job, Package, Task) lefúrási lehetőséggelA task szintű naplózásra használjuk az SSIS beépített naplózási szolgáltatását (sysdtslog90 tábla)

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

A Derived column task segítségével könnyen hozzáadhatjuk a beérkező rekordokhoz, hogy

Melyik forrásrendszerből került beMelyik Package töltötteMilyen módon került be (BI Studióból, vagy job-ból? (interactiveMode)Hogy került be? (hibaágon, vagy standard úton)Ki töltötte be?Mikori betöltéssel került be?

Az audit információk megkönnyítik a hibakeresést és a kézi javítást.

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

Egy ismételt betöltés során eldönti a package, hogy kell-e futnia vagy sem. Ne fusson újra, ha egyszer már sikeresen lefutott!Használjunk feltételhez kötött végrehajtást (Expression and Constraint)Napló alapján tárolt eljárás beírja a package változójába, hogy kell e futni vagy nem. A package innen kiolvassa és az annak megfelelő ágon fut.Ne erre használjuk a disable=true beállítást, mert nem erre való!

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

Nem tudjuk beégetni az SSIS csomagba, hogy melyik napot kell letöltenie.Paraméterezett lekérdezés, vagy az egész lekérdezés egy paraméter:

Select * from t where datum=?„Select * from t where datum=2007-05-16”

Használjunk paramétert, ha lekérdezésünk hossza meghaladja a 4000 karaktertMinden más esetben készítsük el magunk a teljes lekérdezéstMegj.: A DataFlow task nem konfigurálható át futásidőben, csak a package betöltésekor. (DTS tudta) -> Migration best practice: NE

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

A Template package tartalmazza:Konfigurációs állományok elérési útjátNaplózási funkciókatGyakran használt task-okat, connection menedzsereket, Standard változókatCsomagok védelmi szintjét

ProtectionLevel=DontSaveSensitive standard beállításokat

Tegyünk BreakPoint-ot az package OnPostExecute eseményére

Tegyünk szöveges megjegyzéseket a template package-be -> Mit kell majd átállítani, ha új package készül belőle

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

1 Package 1 táblát töltsön!Dimenzió táblánként 1 package, ténytáblánként 1 packageKönnyebb fejleszteni, hibát javítani, futtatni, párhuzamosítani

Package-en belül használjunk container-eketPárhuzamosíthatóak benne a folyamatokEgyszerűbb nem futtatni (disable=true)

Használjunk fő package-eket a dimenziókat és ténytáblákat töltő package-ek összefogására

Page 15: Kővári Attila Független BI  tanácsadó, SQL Server MVP biprojekt.hu
Page 16: Kővári Attila Független BI  tanácsadó, SQL Server MVP biprojekt.hu

BI Development stúdióF5 (Start with debugging)Ctrl F5 (Start without debugging)

Parancssor: DTExec.exe (vagy DTExecUI.exe)Performancia teszteléshez használjuk a parancssortTask-ok kikapcsolása: Disable=false (csak debug módban használható)

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

Az SSIS Gyors áttekintéseHatékony ETL folyamat megvalósítása az SSIS segítségévelTeljesítmény-hangolás

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

Workflow enginePárhuzamos futtatást lehetővé tevő Task-okat, konténereket futtató workflow engineTeljesítménye SSIS szempontjából tekinthető adottságnak (teljesítménye az RDBMS-től, a hálózat sebességétől függ)

Data Flow engieSpeciális runtime task, ami lehetővé teszi a különböző rendszerek közti adatmozgatástKomponensei adatforrások, transzformációs eljárások, céladatbázisokPárhuzamosítható

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

Párhuzamosítsunk!Szedjük szét a forrásadatokat

Fájlokat több fájlbaTáblák adatát több szeletre (where feltétellel)

Határozzuk meg, hogy hány folyamat fusson párhuzamosan

Data flown-n kívül (Package-en belül): MaxConcurrentExecutables (-1 = (Logikai) processzorok száma + 2)Data flown-n belül: EngineThreads. Az alapértelmezett 5, ami egy multiprocesszoros gépen megnövelhető (Adatforrásoknak és aszinkron transzformációknak kell egy-egy thread)

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

Egyszerre a lehető legtöbb adatot olvassuk be a pipeline-ba

Csak azokat amelyekre tényleg szükség van. Select * = A lehető legkisebb helyigényű adattípust használjuk

Kerüljük a teljes adathalmazon végzett transzformációkat (sort, aggregate) (ha tudjuk)Index: Betöltés szempontjából csak a dimenzió táblákra -> jobb lookup teljesítményHasználjunk SQL Server Destination-t OLE DB helyettTöltsünk üres táblába (Partícionálás)

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

Építsen hatékony SSIS csomagokat!Ismerje meg alaposan az SSIS architektúrájátPárhuzamosítson!Mérje a teljesítményt (Naplózzon)És használjon egy jól bevált adattárház építési metodológiát!

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

Integration Services: Performance Tuning Techniqueshttp://www.microsoft.com/technet/prodtechnol/sql/2005/ssisperf.mspx

Project REAL: Business Intelligence ETL Design Practiceshttp://www.microsoft.com/technet/prodtechnol/sql/2005/realetldp.mspx

Blog bejegyzések:Jammie Thomson, Marco Russo, Alberto Ferrari, Brian Knight írásai

Magyar nyelvű irodalom:http://www.biprojekt.hu

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