2016-01-22 111 views
1

由于高性能和周转时间缩短的额外优势,我试图将所有数据从IBM DB2迁移到组织中的Netezza。从IBM DB2迁移到Netezza的挑战

但是我意识到在Netezza中没有主键的概念?如果属实,我可以尝试在Datastage中使用重复删除阶段来处理这些问题。

另外,请问您是否可以帮助我了解是否有更多的约束条件可以应对,或者我可能面临的DB2向Netezza迁移的挑战?

回答

0

Netezza确实允许您指定主键和外键约束,但它们不会被强制执行。也就是说,它们纯粹是信息性的(对于用户和优化器而言)。 ETL中的格式良好的插入过程是管理此问题的好方法。

在您可能会遇到其他问题的话题,这里有几个想法:

代理键 确保您生成您的代理键或者与Netezza的SEQUENCE对象,或在替代密钥生成器您的ETL工具。避免在此过程中使用ROW_NUMBER,因为这样最经常会阻止您利用系统的并行特性。

存储过程

存储过程应避免行到行/基于cusor加工时可能的,因为这是你可以防止你利用系统的并行特性另一种情况。

SQL扩展功能

如果你发现你靠存在于DB2不要在Netezza公司本身找到,一定要检查什么在SQL扩展工具包,它是可用的功能包含在Netezza中,但不会自动安装/配置。

MERGE

如果在当前环境中依靠MERGE,要知道,你必须在v7.2.1在Netezza公司使用MERGE。否则,你将不得不把它分解成一个INSERT/UPDATE操作。

+0

谢谢Scott!我将在迁移到Netezza时考虑以上所有要点。 – Jeet23

0

在Netezza中加载数据后,我们使用的一种方法是创建一个视图来访问数据并仅显示视图。该视图将有内部的逻辑删除重复。

祝你好运! Delan