Execution Tree Buffers vs SSIS Components Buffer
Buffers aren't processes (or subprocesses). They're memory allocations. In your simple Source/DC/Dest arrangement, that's an "execution tree" because all three transforms use one "shape" of buffer. (The columns are defined the same way for all three transforms, so they can share the same type of memory allocation.) There will be more than one buffer created for that execution tree - exactly how many is up to the SSIS runtime, and depends on available memory, other execution trees' status, and the relative speeds of the source and destination components at "producing" and "consuming" buffers. There will be (at most) one thread allocated per execution tree. The source is an asynchronous component. This means that it will create (allocate) new buffers (memory). Synchronous transforms and destinations don't allocate new buffers, they operate on existing ones only. I find it useful to think of the data flow like an automotive assembly line. Talk to me now on
June 14th, 2011 11:30am

Hi Abhinav, I just found out this which might be useful : http://technet.microsoft.com/en-us/library/cc966529.aspx#EGAA . Basically, what I understood is, each execution tree uses one or more buffers and threads. The buffers and threads are alllocated based on the transformations(blocking, partially blocking(asynchronous), row transformations).http://deepaksqlmsbusinessintelligence.blogspot.com/ Happy to help! Thanks. Regards and good Wishes, Deepak.
Free Windows Admin Tool Kit Click here and download it now
June 14th, 2011 12:16pm

A very genric and a conceptual question, if someone please can direct me to some good links or answere it for me: 1. I am looking at the buffer allocation in SSIS, and came across the Execution tree, by defintion which is "An execution tree is a group of transformations which start at either a source adapter or an asynchronous transform and end at the first asynchronous transform or a destination adapter. A data buffer has the scope of an execution tree. " 2. I assume Execution tree creates a buffer for iteself, as soon as it finalises how many execution tress can be present. 3. Lets assume a exectiotn tree has a simple Source-->Derived Column---> Destination. 4. I am intrested to knwo how buffers are allocated, I assume for whole of this first Execution tree allocates itself a buffer lets say(10 MB), inside that 10 MB the source adaptar been a asyncronous transform alllocats lets say(5MB), so essntially it becomes a subset of already allocated buffer and a new buffer is allocated, essentally wha ti mean is like a Subprcess inside a existing process, Is this understanding correct? or the things works in different ways, i read a link which states the above will be done as a part of single buffer, but as per my understand the source titsled is a asynchronous control thus, in any case it cant be a single buffer until its like what my understading is. Please can some one hsare some light on it, i am trying to get the conepts right here, link i am using for my reading is http://www.sql-server-performance.com/2009/ssis-an-inside-view-part-2/ Abhinav
June 14th, 2011 12:24pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics