平衡数据分发器(Balanced Data Distributor BDD)是针对 SQL Server Integration Services (SSIS)的一种新的多线程数据流传输工具。它会把数据分发到多个输出中,从而达到提升多核和多处理器服务器环境下性能的目的。
平衡数据分发器利用并行机制来加快数据传输的速度,因此不会对单处理器的环境产生影响。(事实上,和使用 SSIS 中的脚本组件(Script Component )直接插入的方式相比,它反而会降低性能。) 微软建议只在特定的环境中才使用这种特定的传输方式。合适的环境需要符合以下标准:
- 有大量需要移动的数据。
- 能够快速读取数据(例如,从纯文本文件),但是在传输过程或者目的地存在潜在的瓶颈。
- 我们不需要维护源数据的顺序(BDD 会把它们切分为大致相等的缓存)。
- 目标需要是统一的,或者类型一致。
在 Boyan Penev 的博客中,他对 BDD 和使用脚本组件插入做了介绍性的性能比较。在本地的SQL Server 实例中,他发现有35%-45% 的性能提升。SQL Server 性能团队对于在并行环境中使用平衡数据分发器提供了更多最佳实践信息。
当前在SSIS 2008 中已经提供了平衡数据分发器的传输方式。
查看英文原文: Balanced Data Distributor: Improve SSIS Performance with Parallelism
评论