blogs.conchango.com

welcome to the conchango blogging site
Welcome to blogs.conchango.com Sign in | Join | Help
in Search

SSIS Junkie

SSIS Nomenclature

I often find that one of the biggest obstacles to technology adoption is when people refer to the same thing in different ways. How many times have you sat in meetings and heard two people debating some particular point only to realise that they're actually both making the same point and the only thing they're disagreeing about is terminology? It happens to me all the time, or at least it seems to.

Hence, I thought it would be useful to post a list of terms that are related to SSIS in an effort to ensure that people don't misuse them. All information here is correct at the time of writing.

  • Package - A file with a .dtsx suffix that contains SSIS functionality
  • Package container - Superficially the same as a package but in actual fact that they are slightly different. Each package has one package container and it is possible for the package and the package container to have different names.
  • Container - A container is a logical grouping of one or more other containers. There are 6 different types of containers within SSIS. Can you name them all? (hint)
  • Task - The lowest unit of executable functionality in a package. All tasks exist within a special type of container called the TaskHost container. Tasks ultimately reside in a package's control-flow or in its eventhandlers.
  • Executable - A task or a container
  • Dataflow Task - A special task that forms the "guts" of SSIS and which even has its own execution engine.
  • Pipeline - Notionally the same as a Dataflow Task because each Dataflow Task has one pipeline. The word 'Pipeline' can generally be thought of as the collection of containers that make up the Dataflow Task. Programatically speaking, if you call TaskHost.InnerObject on an instance of TaskHost that you know to be a dataflow task, you will be returned an object of type Microsoft.SqlServer.Dts.Pipeline.Wrapper.Mainpipe which is a managed wrapper to IDTSPipeline90. (There is some code here that demonstrates this).
  • Component - A constituent of a Dataflow Task pipeline. One common mistake SSIS beginners make is to think of a component as a unit of execution; that is not the case, you cannot execute a component.
  • Source adapter - A component that has no inputs
  • Destination adapter - A component that has no outputs except for an error output
  • Transformation/Transform - A component that has inputs and outputs.

The most common mistake I see people making is to refer to components as tasks; that's not what they are. Tasks live in the control-flow, components live in the dataflow and its important to make that distinction. It is this particular misunderstanding that prompted me to write this blog entry.

Hope that helps.

-Jamie

Published 19 November 2007 19:28 by jamie.thomson

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

stevienova.com » Blog Archive » links for 2007-11-20 said:

November 20, 2007 06:17
 

S. Neumann said:

"The most common mistake I see people making is to refer to components as tasks; that's not what they are. Tasks live in the control-flow, ***containers*** live in the dataflow and its important to make that distinction. It is this particular misunderstanding that prompted me to write this blog entry."

I suppose you meant components and not containers?

November 20, 2007 08:54
 

jamie.thomson said:

Ach! Thanks S. Embarassing mistake to make given the subject of thie blog entry. Corrected now, thanks for letting me know!

-Jamie

November 20, 2007 12:22
 

David R Buckingham said:

Bah!  S. Neumann beat me to it.  The only clarification I would have made is that "containers and tasks live in the control-flow or eventhandlers, while components live in the data-flow".

I do agree lack of common terminology gets in the way in many business meetings, whether in regards to SQL Server/IS/AS or not.  Take the healthcare industry for example, subscriber ID and member ID are often used interchangeably and shouldn't be as the distinction may be important depending on the context.

Keep up the great work Jamie.

November 20, 2007 15:20

Leave a Comment

(required) 
(optional)
(required) 
Submit

This Blog

Syndication

News

Powered by Community Server (Personal Edition), by Telligent Systems