简体   繁体   中英

Why is Union All transformation in SSIS a partially/semi blocking transformation?

I am not able to understand as in why is Union All a semi blocking transformation.

  • It displays same no. of input records as output.

I came across this article

SSIS Full/Semi/Non Blocking Transformations which speaks about the transformations being "Asynchronous" and having "New Buffer". Can someone also explain me in what context is the asynchronous word used. Is it in the context of the number of records in input ?

And how is union all associated with these terms ?

The SSIS Buffer is what the tool uses to move rows through transformations. A synchronous transformation operates on one buffer, passing it along as it completes it's work so that the next transformation can immediately pick up on its task. When they're operating on the buffer synchronously, the downstream transformations can read the buffer's rows as it is passed from upstream transformations. A buffer is a single object - you can't pass along 3 buffers to downstream transforms as a "single" buffer.

When you reach a UNION ALL transformation, each pipeline above it has its own buffer, so SSIS needs to move the rows from each of those buffers into one new buffer for the downstream synchronous transformations. This copy operation is "asynchronous", since the buffer must be created and the data copied into it from the source buffers, and the downstream transforms must wait for the new buffer. How this copy is done doesn't seem to be documented, but I would expect it's probably just moving the pointers to the rows in each buffer into a array or linked list in the new buffer.

Synchronous / Asynchronous transforms are well documented on MSDN as well: https://msdn.microsoft.com/en-us/library/aa337074(v=sql.120).aspx

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM