SSIS数据流程设计、调优与软件开发生命周期
1. SSIS数据流程设计与调优
1.1 无预存储的临时表设计
在某些场景中,可使用无需在应用转换逻辑前将数据驻留在表中的临时表。例如,多播转换(Multicast Transformation)会获取原始源数据,使其流入核心数据流,同时将原始源数据暂存到表中。表中的数据可用于数据验证和检查,还能在需要时作为源系统的快照进行重新处理。与先暂存数据再将其作为源的模型相比,这种方式有两个显著区别:
- 处理不再是同步的,很多情况下数据从A点到B点的移动时间仅取决于从A点提取数据的时间。
- 暂存过程只需对临时表进行一次写入操作,避免了二次读取数据的I/O开销。若重启要求和源系统允许,这种方法能兼顾数据流的优势和临时环境的价值。
1.2 优化包处理
1.2.1 优化缓冲区、执行树和引擎线程
在数据流中,每个执行树使用不同的缓冲区配置文件。下游执行树可能因数据流中列的增减而需要不同的列。缓冲区性能与行宽直接相关,窄缓冲区能容纳更多行,从而提高吞吐量。
部分在执行树中使用的列在下游可能不再需要。例如,查找转换(Lookup Transformation)的输入列作为与参考表的匹配键,查找完成后该列可能就无需使用,应在进入下一个执行树前移除。SSIS会在执行树中存在未在下游转换或目标组件中使用的列时给出警告。
移除未使用列的操作步骤如下:
1. 对于具有异步输出且输入结束执行树的组件,可通过转换的编辑对话框移除输出列。
2. 若组件提供高级属性窗口,也可在高级编辑器中操作。如在联合全部转换(Union All Transformatio
超级会员免费看
订阅专栏 解锁全文

305

被折叠的 条评论
为什么被折叠?



