我确信这是一个很难回答的模糊问题,但我对此问题的一般看法表示感谢.
让我快速给你一个背景.
十年前,我们曾经写过数据加载从传统应用程序读取输入平面文件并将它们加载到我们的Datamart中.最初,我们的加载程序是用VB6编写的,并通过平面文件进行了修改,对于每个记录,执行了这个一般过程:
1)查看记录.如果找到,请更新它2)否则插入新记录
然后我们最终改变了这个过程,使用SQL Server来对临时表中的平面文件进行DTS,然后我们将在临时表上使用目标生产表执行大规模集合基本连接,从临时表中获取数据并使用它更新目标表.插入了未加入的记录.
这是对流程的简化,但实际上,流程从迭代方法变为"基于集合",不再一次执行更新1条记录.结果,我们获得了巨大的性能提升.
然后我们在DLL中创建了一个强大的共享函数集,用于使用这种方法执行常用函数/更新模式.它极大地抽象了开发,真正缩短了开发时间.
然后,一个ETL工具Informatica PowerCenter出现了,mgt希望对该工具进行标准化并重写使用DTS的旧VB负载.
我听说PowerCenter迭代地处理记录,但我知道它确实做了一些优化技巧,所以我很好奇Informatica将如何表现.
有没有人有任何使用DTS或SSIS的经验,能够做出通常表现更好的直觉性能预测?