Yesterday, June 19th, the BDD transform for SSIS 2012 was released (also available for 2008). BDD is a product and creation from the SQLCAT team so we know that one thing was in mind: Performance! For me, this has been a long awaited upgrade to the transform. The purpose of the BDD transform is to take full advantage of multithreading architecture in SSIS. I’ve always been a big supporter of taking full advantage of the resources that are available in order to enhance performance to the highest possible limits. This was one reason the changes in SSIS 2008 and the data flow were so welcome. In order to truly develop high-end and Enterprise level ETL systems, we need to know what is exposed to the platform being used from hardware to software capable methods of running through data more efficiently, faster and with stability.
As with most transforms, BDD has its specific place in which it can benefit an SSIS package. BDD isn’t a transform you would use simply to because it is there and can utilize multithreading and concurrent processing of data. The transform works best when the data coming in is quick and you are finding the processing of that data within the package to be a bottleneck. It’s important to determine where bottlenecks are prior to making decisions if transforms like BDD are actually going to help the overall ETL process.
With SSIS 2012 BDD, there isn’t much of a change other than the support for SSIS 2012. This blog by Matt Masson, “The Balanced Data Distributor” which contains a link to a video showing off BDD, is a great resource for determining how to use BDD and where it is appropriate. I encourage all SSIS developers and DBAs that may have use BIDS Helper to determine an SSIS package and the transforms within it are causing a bottleneck, to download BDD and give it a try to see if it can benefit performance.