Bulk 方式进行目标数据的Load,是Informatica提供的一种高性能的Load数据方式。它利用数据库底层机制,依靠调用数据库本身提供的Utility来进行数据的加载。
使用Bulk方式 Load时,Informatica调用Utility进行Load,此方式将绕过数据库的 log记录,以此来提高数据库Load性能,因此Bulk方式也就不可能进行Rollback操作,也不可能使用数据库作Recover操作。所以当进行这个属性设置时,需用平衡一下性能提升与系统数据恢复的重要性。
从 Bulk的实现方式上我们即可以知道,Bulk方式主要是进行大数据量Insert的操作时选用,换句话说就是不做Update。当设置了这个选项后,Informatica Sever实际是调用了数据库的Bulk Utility 并忽略log进行加载的。所以在这儿对Bulk方式也可进行调优设置,这就是我们需要调整的“事务提交数”了。Commit Interval的默认值是10000。所以可以调大这个值,以减少事务数(Bulk Load Transaction),提升性能。需要说明的是这个调整只对Oracle和SQL Sever有用。DB2 和Sybase不受这个值影响,只与Write Block的大小有关系,一旦写满即进行提交。
因为Bulk方式只能用来做Insert操作。而大家知道我们如果需要Update操作,在Session的Treat source rows as的设置上需要设置成Data Driven,当我们同时选择了两种设置,会有什么结果呢。如果你同时设置了Data Driven和Bulk模式 PowerCenter Sever将自动切换采用Normal 方式进行Load。
注意Target load type 有索引使用Normal。没索引使用bulk比较快。