In SSIS data flow, there are three types of data transformation: non-blocking, semi-blocking and fully-blocking and all data flow components are categorized to be synchronous vs asynchronous. We need to understand their properties and how to organize them appropriately.
Synchronous components: simply, number of records IN = number of records OUT in buffer cache.
Asynchronous components: number of records IN <> number of records OUT. On the other hand, the result output of a asynchronous component uses a new buffer. It’s impossible to reuse the input buffer because an asynchronous component can have more or less output then input records.
Generally, synchronous components reuse buffers so they are faster than asynchronous components because they need new buffers. Let see the below table to understand the basically differences
All data-flow components categorized