从IBM DB2迁移到Netezza的挑战

从IBM DB2迁移到Netezza的挑战,db2,data-migration,netezza,Db2,Data Migration,Netezza,由于高性能和缩短周转时间的额外优势,我正在尝试将所有数据从IBM DB2迁移到组织中的Netezza 但我意识到Netezza中没有主键的概念?如果为true,我可以尝试通过在Datastage中使用重复删除阶段来解决这些问题 也请大家帮助我理解,如果有更多的约束,我应该考虑或面临的挑战,我可以面对DB2到NETEZA迁移? < P> NETEZZA允许您指定主键和外键约束,但它们没有强制执行。也就是说,它们纯粹是信息性的(对于用户和优化器)。ETL中格式良好的upsert过程是一种很好的管理方

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

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


也请大家帮助我理解,如果有更多的约束,我应该考虑或面临的挑战,我可以面对DB2到NETEZA迁移?

< P> NETEZZA允许您指定主键和外键约束,但它们没有强制执行。也就是说,它们纯粹是信息性的(对于用户和优化器)。ETL中格式良好的upsert过程是一种很好的管理方法

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

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

存储过程

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

SQL扩展函数

如果您发现依赖于DB2中存在的函数,而这些函数在Netezza中本机找不到,请确保检查SQL扩展工具包中的可用功能,该工具包随Netezza提供,但不是自动安装/配置的

合并


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

Netezza允许您指定主键和外键约束,但不强制执行。也就是说,它们纯粹是信息性的(对于用户和优化器)。ETL中格式良好的upsert过程是一种很好的管理方法

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

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

存储过程

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

SQL扩展函数

如果您发现依赖于DB2中存在的函数,而这些函数在Netezza中本机找不到,请确保检查SQL扩展工具包中的可用功能,该工具包随Netezza提供,但不是自动安装/配置的

合并


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

一旦在Netezza中加载数据,我们使用的一种方法是创建一个视图来访问数据,并且只公开该视图。视图将具有删除重复项的逻辑

祝你好运!
Delan

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

祝你好运!
德兰

谢谢斯科特!在迁移到NETEZA的时候,我会考虑所有这些点。谢谢史葛!在迁移到NETEZA的时候,我会考虑所有这些点。