从 IBM DB2 迁移到 Netezza 的挑战
Posted
技术标签:
【中文标题】从 IBM DB2 迁移到 Netezza 的挑战【英文标题】:Challenges in migrating from IBM DB2 to Netezza 【发布时间】:2016-01-22 11:35:27 【问题描述】:由于增加了高性能和缩短周转时间的优势,我正在尝试将我组织中的所有数据从 IBM DB2 迁移到 Netezza。
但我意识到 Netezza 中没有主键的概念?如果属实,我可以尝试通过在 Datastage 中使用重复删除阶段来解决这些问题。
另外,你们能否帮助我了解在从 DB2 到 Netezza 的迁移过程中我是否应该考虑更多限制或可能面临的挑战?
【问题讨论】:
【参考方案1】:Netezza 允许您指定主键和外键限制,但它们不是强制执行的。也就是说,它们纯粹是信息性的(对于机器人用户和优化器)。 ETL 中格式良好的 upsert 流程是解决此问题的好方法。
关于您可能面临的其他问题,这里有一些想法:
代理键 确保使用 Netezza 的 SEQUENCE 对象或 ETL 工具中的代理键生成器生成代理键。避免在此过程中使用 ROW_NUMBER,因为以这种方式使用它通常会阻止您利用系统的并行特性。
存储过程
存储过程应尽可能避免逐行/基于光标的处理,因为这是另一种情况,您可能会阻止自己利用系统的并行特性。
SQL 扩展函数
如果您发现您依赖 DB2 中存在的功能,而这些功能在 Netezza 中没有,请务必检查 SQL Extensions Toolkit 中的可用功能,该工具包包含在 Netezza 中,但不会自动安装/配置.
合并
如果您在当前环境中依赖 MERGE,请注意您必须在 v7.2.1 上才能在 Netezza 中使用 MERGE。否则,您将不得不将其分解为 INSERT/UPDATE 操作。
【讨论】:
谢谢斯科特!在迁移到 Netezza 时,我会考虑以上所有要点。【参考方案2】:在 Netezza 中加载数据后,我们使用的一种方法是创建一个视图来访问数据并仅公开该视图。该视图将包含删除重复项的逻辑。
祝你好运! 德兰
【讨论】:
以上是关于从 IBM DB2 迁移到 Netezza 的挑战的主要内容,如果未能解决你的问题,请参考以下文章
由于日期格式,将数据从 txt 文件导入 IBM netezza SQL 数据库时出错
将数据从 txt 文件导入 IBM netezza SQL 数据库的错误