从IBM DB2迁移到Netezza的挑战

时间:2016-01-22 11:35:27

标签: db2 data-migration netezza

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

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

另外,如果我有任何限制要考虑或者我可以面对DB2到Netezza迁移的挑战,那么请你帮我理解一下吗?

2 个答案:

答案 0 :(得分:0)

Netezza允许您指定主键和外键限制,但它们不会强制执行。这就是说它们纯粹是信息性的(对于用户和优化器来说是僵尸)。 ETL中一个格式良好的upsert进程是管理此问题的好方法。

关于您可能面临的其他问题,以下是一些想法:

代理键 确保使用Netezza的SEQUENCE对象或ETL工具中的代理键生成器生成代理键。避免在此过程中使用ROW_NUMBER,因为它通常会阻止您以这种方式使用系统的并行性质。

存储过程

存储过程应尽可能避免逐行/基于cusor的处理,因为这是另一种情况,您可能会阻止自己利用系统的并行性质。

SQL扩展函数

如果您发现依赖于DB2中存在的本地未在Netezza中找到的函数,请务必检查Netezza附带的SQL Extensions Toolkit中的可用内容,但不会自动安装/配置

<强>合并

如果您在当前环境中依赖MERGE,请注意您必须在v7.2.1上才能在Netezza中使用MERGE。否则,您必须将其分解为INSERT / UPDATE操作。

答案 1 :(得分:0)

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

祝你好运! 桑德兰