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

Kinek szól az előadás: Akik már ismerik valamennyire az SSIS-t Akik nem most hallanak először a BI-ról és az adattárházról Az előadás célja A legjobb.

Hasonló előadás


Az előadások a következő témára: "Kinek szól az előadás: Akik már ismerik valamennyire az SSIS-t Akik nem most hallanak először a BI-ról és az adattárházról Az előadás célja A legjobb."— Előadás másolata:

1

2 Kinek szól az előadás: Akik már ismerik valamennyire az SSIS-t Akik nem most hallanak először a BI-ról és az adattárházról Az előadás célja A legjobb módszerek bemutatása Hogy Önök hatékony ETL folyamatokat valósítsanak meg az SSIS segítségével

3 Az SSIS Gyors áttekintése Hatékony ETL folyamat megvalósítása az SSIS segítségével Teljesítmény-hangolás

4 Projekt- tervezés Projektmenedzsment Üzleti igények meghatározá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

5 Adatbetöltő eszköz, a MS ETL eszköze Része az SQL Server 2005 programcsomagnak Grafikus programozási interfész Nem DTS!

6 Az SSIS Gyors áttekintése Hatékony ETL folyamat megvalósítása az SSIS segítségével Teljesítmény-hangolás

7 Érvek a fájlrendszer mellett Könnyebb Source control alá helyezni egy fájlt, mint egy adatbázist Könnyebb fájlt verziózni, mint adatbázist Egyszerűbb menteni és visszaállítani, mint az msdb adatbázist Egyszerűbben betölti a BI Studio az SSIS csomagokat fájlból, mint adatbázisból Hierarchikusan rendezhetjük az SSIS csomagokat Érvek az adatbázis mellett A napi mentések során SSIS csomagjaink automatikusan mentődnek.

8 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és Hívó package változójában SQL 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)

9 Készítsünk naplót, hogy Pontos képet kapjunk betöltési folyamataink eredményéről Statisztikákat készíthessünk Láthatóvá tegyük, hogy épp melyik folyamat fut Futtatandó 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éggel A task szintű naplózásra használjuk az SSIS beépített naplózási szolgáltatását (sysdtslog90 tábla)

10 Minden szinten: mikor indult, mikor fejeződött be, milyen eredménnyel zárult a folyamat Job szint melyik napotokra futott, hány hívott package futott hibásan mekkora volt az adattárház betöltés előtt és után, … Package szint: Errorcode, desc, source Betöltött sorok száma (új, megváltozott, hibás, ) Honnan lett meghívva (job, BI Studio, …)  interactive mode Ki futtatta, … Melyik gépen futott Task szint: onError esemény

11 A Derived column task segítségével könnyen hozzáadhatjuk a beérkező rekordokhoz, hogy Melyik forrásrendszerből került be Melyik Package töltötte Milyen 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.

12 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ó!

13 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= ” Használjunk paramétert, ha lekérdezésünk hossza meghaladja a 4000 karaktert Minden más esetben készítsük el magunk a teljes lekérdezést Megj.: A DataFlow task nem konfigurálható át futásidőben, csak a package betöltésekor. (DTS tudta) -> Migration best practice: NE

14 A Template package tartalmazza: Konfigurációs állományok elérési útját Naplózási funkciókat Gyakran használt task-okat, connection menedzsereket, Standard változókat Csomagok 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

15 1 Package 1 táblát töltsön! Dimenzió táblánként 1 package, ténytáblánként 1 package Könnyebb fejleszteni, hibát javítani, futtatni, párhuzamosítani Package-en belül használjunk container-eket Párhuzamosíthatóak benne a folyamatok Egyszerű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

16

17 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 parancssort Task-ok kikapcsolása: Disable=false (csak debug módban használható)

18 Az SSIS Gyors áttekintése Hatékony ETL folyamat megvalósítása az SSIS segítségével Teljesítmény-hangolás

19 Workflow engine Párhuzamos futtatást lehetővé tevő Task-okat, konténereket futtató workflow engine Teljesí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 engie Speciális runtime task, ami lehetővé teszi a különböző rendszerek közti adatmozgatást Komponensei adatforrások, transzformációs eljárások, céladatbázisok Párhuzamosítható

20 Párhuzamosítsunk! Szedjük szét a forrásadatokat Fájlokat több fájlba Tá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)

21 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ény Használjunk SQL Server Destination-t OLE DB helyett Töltsünk üres táblába (Partícionálás)

22 Építsen hatékony SSIS csomagokat! Ismerje meg alaposan az SSIS architektúráját Pá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!

23 Integration Services: Performance Tuning Techniques Project REAL: Business Intelligence ETL Design Practices Blog bejegyzések: Jammie Thomson, Marco Russo, Alberto Ferrari, Brian Knight írásai Magyar nyelvű irodalom:

24


Letölteni ppt "Kinek szól az előadás: Akik már ismerik valamennyire az SSIS-t Akik nem most hallanak először a BI-ról és az adattárházról Az előadás célja A legjobb."

Hasonló előadás


Google Hirdetések