Synchronous and Asynchronous Processing


The synchronous nature of a transformation refers to its row-processing behavior and whether it must first receive all rows from the input before it is able to process and begin returning rows in its output. A truly synchronous transformation processes a row as it flows through its input, performs the transformation, and immediately outputs the row. Synchronous transformations manipulate data that already exists in a buffer faster than a transformation that must copy records into a new buffer.

An asynchronous transformation must wait for all rows or a group of them before it can perform the transformation. This requires management of data in buffer space and blocks the flow of rows to subsequent components in the data flow pipeline. Some transformations must process only groups of rows (for example, all rows matching a value or having a sorted column value) and might exhibit partially synchronous behavior by releasing a group of processed rows for output after transforming the row group.

Streaming transformations (such as Character Map, Conditional Split, Multicast, and Row Count) are faster because they don't require interaction with an external source. By comparison, row transformations such as Lookup, Audit, OLE DB Command, and Slowly Changing Dimension are slower because they do interact with an external source. Asynchronous transformations typically require data to be copied from one memory buffer to another and can have more or fewer output rows than input rows. Some asynchronous transformations that merge data sets to create a data flow that is dissimilar to the source will be slower to process because the data flow blocks subsequent transformations and copies data from one buffer to another.




Microsoft SQL Server 2005 Integration Services Step by Step
MicrosoftВ® SQL Server(TM) 2005 Integration Services Step by Step
ISBN: 0735624054
EAN: 2147483647
Year: 2007
Pages: 152

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net