Here, I am going to mention few points that help in better understanding of transformation:
Blocking
|
Partially\ Semi Blocking
|
Non-Blocking
|
Need to read all the inputs before they produce some output. Clearly, it consumes time | Need not read all inputs | Need not read all inputs |
It creates a new buffer for the output | It creates a new buffer for the output | It uses the existing buffer. This introduces huge performance benefits |
These transformations may create additional records i.e. the number of input records might be different from number of output records. Hence, they are asynchronous in nature. | Number of output records may or may not match the number of input records. They are also asynchronous in nature | Number of output records are same as number of input records. These transformations are synchronous in nature |
New thread is introduced in Data flow | New thread might introduce in data flow | No additional thread is created |
Available resources are impacted heavily | Less impact on available resources than Blocking transformations | It has the minimum impact to available resources out of all the transformation types |
Ex: Sort, Aggregate, | Ex: Merge, Merge Join | Ex: Data Conversion, Derive Column, Look-up |
No comments:
Post a Comment