Informatica powercenter Joiner Transformation

时间:2016-07-17 15:00:05

标签: etl informatica-powercenter

我是Informatica的新手,我知道这是一个非常基本的问题。

建议我们选择行数较少的源作为master和source,并将更多行作为详细信息。为什么这样?

如果我在Master中有10行,在Detail中有20行,那么PowerCenter将创建10行的缓存并执行10次迭代,进行20次比较,如果master和detail源互换,那么它将执行20次迭代,每次10次比较迭代。

前一种情况如何改善性能,是否因为缓存大小?此外,Powercenter还必须从详细信息源中反复获取数据以与主设备进行比较,如果是这种情况,那么我们不应该缓存详细信息源而不是主信号源吗?

2 个答案:

答案 0 :(得分:0)

  

如果我在Master中有10行,在详细信息中有20行,那么PowerCenter   将创建10行的缓存并使用20执行10次迭代   比较,如果主要和细节来源互换,那么它   将在每次迭代中执行20次迭代并进行10次比较。

我认为情况恰恰相反:在第一种情况下,缓存了10个主行。因此,对于20个细节行中的每一行,将其与10个缓存行进行比较。 20次迭代和10次比较。在第二种情况下,它是10次迭代和20次比较。

虽然在这两种情况下都有200个操作,但由于第一种情况下的缓存大小较小,因此效率更高。

  

同样,Powercenter也不必一次又一次地获取数据   详细来源与master进行比较,如果是这样的话   我们不应该缓存详细信息源而不是主源吗?

不,PowerCenter只会从源读取每条记录一次,并与缓存进行比较。

答案 1 :(得分:0)

我只想在@Samiks上添加一个答案:如果你加入一个庞大而小的来源会发生什么?让我们说10GB和10MB。 因此,您将小的一个定义为Master。 Powercenter会话启动后,会将10MB读入缓存。然后它开始逐行读取10GB源。对于每一个,它从10MB缓存中获取数据,并将数据发送到目标而不缓存它。对于整个过程,只需要10MB的缓存。