Some SSIS Components
====================
-File Copy task
- to move/copy files
-Audit Task
- for Package name etc.
-can create views using SQL script in SSIS
-can use SCD for lookups:
-but not cached + complex
-using a SP for lookups is not cached
-best use Lookup component for lookups, in combination with Cache Cxn Manager
SSIS Architecture:
==================
Types of component:
-asych component: has different input & output buffers (slower)
-synch component: same buffer for input & output (faster)
-> SynchOutputID is non-zero
Types of buffer:
-flat buffer <- Data Source -private buffer <- Sort, Aggregate, Lookup
====================
-File Copy task
- to move/copy files
-Audit Task
- for Package name etc.
-can create views using SQL script in SSIS
-can use SCD for lookups:
-but not cached + complex
-using a SP for lookups is not cached
-best use Lookup component for lookups, in combination with Cache Cxn Manager
SSIS Architecture:
==================
Types of component:
-asych component: has different input & output buffers (slower)
-synch component: same buffer for input & output (faster)
-> SynchOutputID is non-zero
Types of buffer:
-flat buffer <- Data Source -private buffer <- Sort, Aggregate, Lookup
SSIS Performance Notes
======================
-use OleDb not ADO (less layers)
-OleDb dest: set MaxInsertCommitSize = 10000
-use Select X WHERE Y - not a Table/View
-you can use a variable to create dynamic SQL
-source: flat file: "Fast Parse"
-remove unneeded columns, at source SELECT
-use SQL Server Destination
-synch components, not asynch (Sort, Aggregate)
-can sort using source SQL
-simplify VIEW SQL
-share lookup caches (avoids reloading data)
-consider avoiding OleDbCmd, as it is per-row
-DataFlow.EngineThreads - set to no. of DataFlowTassks (+ num source components)
-Stage data via Multicasts, so can process immediately
-remove unneeded columns, after async component
-Sort at Source (SQL)
Design
======
-limit synchronicity
-reduce staging + disk I/O
-reduce RDBMS (SQL)
Trouble Shoot Performance
=========================
-selectively replace / remove components: Dest / Src / Transform
-PerfMon + Pipeline Logging
======================
-use OleDb not ADO (less layers)
-OleDb dest: set MaxInsertCommitSize = 10000
-use Select X WHERE Y - not a Table/View
-you can use a variable to create dynamic SQL
-source: flat file: "Fast Parse"
-remove unneeded columns, at source SELECT
-use SQL Server Destination
-synch components, not asynch (Sort, Aggregate)
-can sort using source SQL
-simplify VIEW SQL
-share lookup caches (avoids reloading data)
-consider avoiding OleDbCmd, as it is per-row
-DataFlow.EngineThreads - set to no. of DataFlowTassks (+ num source components)
-Stage data via Multicasts, so can process immediately
-remove unneeded columns, after async component
-Sort at Source (SQL)
Design
======
-limit synchronicity
-reduce staging + disk I/O
-reduce RDBMS (SQL)
Trouble Shoot Performance
=========================
-selectively replace / remove components: Dest / Src / Transform
-PerfMon + Pipeline Logging
Comments
Post a Comment