一直担心sql server 2005的ssis性能问题,一位仁兄对其进行了测试,值得借鉴。
项目中存在一部分数据迁移的工作,说白了就是从老的系统中将数据倒换的新的系统模型中,老系统的数据来源比较复杂多样,新的自然是Oracle9.2。
本来这也就是一次性工作,用SQL自然是最快的方式,不论是开发还是数据传输的速度。可是甲方偏偏要看到界面,希望这是一个成型的工具,没办法,甲方就是上帝。
公司原来也有一个迁移工具,可是只能适用于表对表的倒换,复杂一些无能为力,而且数据还巨慢,用过的人都是对它无语。
从新开发,不说花费和效果,光是时间也不行。没办法,只好看看现在流行的ETL的工具。
市场前列毋庸置疑,肯定是Informatia 和 DataStage.
Informatia没有,只好看看DataStage是否能适应现在的功能要求。不想,虽然是图形界面,可使用起来一点也不容易,而且安装后,Windows下居然不能脱离域环境,而且不是Server版本的Windows还不能运行Paralle Job。郁闷无比。
试了两天后,暂时放下。Microsoft的易用性比功能强大更吸引我。试试SQL Server 2005中的SSIS,号称企业级的ETL。
一用之后呢,没想还真有点喜欢上了它,从介绍的和界面上看一点也不比DataStage的功能少,性能,哈,下面就是我要说得了。
ETL工具最慢的部分都是L这一部分,按照一般的说法能占到总体时间的五分之四,所以这是关键。
测试也不算复杂,就是同样的数据抽取、转化、然后加载用不同的驱动分别跑一遍,目的库已经确定是Oracle,所以也没有太大的余地了。
在SSIS中,有两个驱动可以连接Oracle数据库,一个是Microsoft OLEDB Provider for Oracle,另外一个是Oracle Provider for OLEDB
不测不知道,还真长了不少见识。