Difference Between Control Flow and Data Flow In SSIS


Control Flow Tab is a separate tab in a SQL Server Integration Services package which contains various tasks, executable and containers to execute the flow of operations and tasks. All the tasks, executable and containers are connected by Precedence Constraints which has constraint (Success, Failure or completed)  and expressions . In Control Flow Tab one task need to be completed to execute next task. So basically Control Flow is process oriented and handle the execution flow.

(Figure 1 - Control Flow Tab)

Data Flow Task is part of Control Flow Tab which handle flow of the data from source to destination by including various transformations and business logic. Data Flow Tab is made up through Sources, Transformations and Destinations and none of it's component will wait for other's to complete. So basically Data Flow Task is information oriented and handle the data flow.


(Figure 2 - Data Flow Tab)



Summary 
Sr. No. Control Flow Data Flow
1. Control Flow contains various tasks(Script Task, Execute SQL Task, Data Flow Task, Send Mail Task...), containers(Foreach Loop Container, Sequence Container...). Data Flow tab contains Sources (Flat File Source, Oledb Data Source, XML Source...), Transformations (Drived Columns, Script Components, Lookup, Slowly Changing Dimensions) and Destinations (Flat File Destination, Oledb Destination, Excel Destination).
2. Control Flow tab contains Precedence Contrains for step by step data flow on success or failure of respective task. Data Flow tab handle data flow from source to destination by including various transformations in between for business logic and lookups.
3. We can handle process flow by constraints and expressions through Precedence Constraints. Data flow task doesn't handle any constraint or expression on data flow arrows.
4. Control Flow doesn't contain Data viewers to preview the data. Data Flow contains data viewers to Preview the data.
5. Control Flow is process oriented and handle the execution flow. Data Flow is information or data oriented and handle the data flow.
6. One task needs to be completed to start execution of next task. There is no such dependency, None of the component will wait for other component to execute.


(End of Article)

Post a Comment

1 Comments