Betöltések gyorsítása: Derived column task bontással


A derived column taszk egy szinkron transzformációt megvalósító egység, így definíció szerint a taszk részfeladatokra történő bontásával nem tudunk párhuzamosítani, hiszen nem fog létrejönni új execution tree, és így minden egy szálon fog futni továbbra is. Na ez így bonyolult, úgyhogy inkább mutatok egy példát.

Tegyük fel, hogy adattárházat töltünk, és minden egyes adattárházba érkező sorthoz hozzáfűzünk két oszlopot. Az egyik tartalmazza, hogy melyik betöltéssel került be a rekord, a másik tartalmazza, hogy melyik forrásrendszerből érkezetett a rekord.

Definíció szerint nem érdemes két taszkban hozzáadni a bejövő rekordokhoz ezen azonosítókat, mert az SSIS nem párhuzamosan, hanem sorosan fogja őket végrehajtani. Ez igaz is. De az SQLCat-osok felfigyeltek arra, hogy egy Execution tree-n belül az SSIS képes egy execution tree-hez több puffert (max 5-öt forrásonként) is allokálni, így végső soron a szinkron transzformációk bontásával egy execution tree-n belül is lehet párhuzamosítani.

Ha tehát az alábbi derived column taszkot

Image001

Felbontjuk 4-5 derived column taszkra,

Image002

Akkor jelentősen, esetenként felére csökkenthető a betöltés időszükséglete. Érdekes.

Akiket érdekelnek a részletek az olvassa el az Increasing Throughput of Pipelines by Splitting Synchronous Transformations into Multiple Tasks című cikket. (De nem árt, ha előtte utánanéz az SSIS architektúrájának)

Elválasztó

Már készül a következő cikk. Iratkozzon fel az értesítőre.

|

Kővári Attila
2010. augusztus 27.
Címkék:

Persze, ez csak akkor működi

Persze, ez csak akkor működik, ha mind az I/O mind a CPU "sávszélesség" rendelkezésre áll.

Szóljon hozzá!

Szabály: Legyen kedves, segítõkész és vállalja a nevét.
A mező tartalma nem nyilvános.
  • A web és email címek automatikusan linkekké alakulnak.
  • Engedélyezett HTML elemek: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • A sorokat és bekezdéseket automatikusan felismeri a rendszer.
ANTI SPAM
A robot regisztrációk elkerülésére.
Image CAPTCHA
Figyeljen a kis és nagybetűk használatára