如何在将数据从DB2迁移到MongoDB时避免重复

时间:2017-03-16 12:33:50

标签: java mongodb db2 database-migration data-migration

我是MongoDB的新手并计划将DB2数据(~6TB)迁移到Mongodb。所以我们计划使用Java实用程序从DB2读取数据并在MongoDB中插入它。

如果在执行Java utitity期间发生任何错误,我重新启动它,然后在MongoDB中插入重复的记录。我怎样才能避免那些重复记录?

请在这里指导我!

谢谢!

1 个答案:

答案 0 :(得分:0)

来自DB2的数据应该已经具有唯一的主键,并且数据中可能还有其他唯一的业务键。如果将这些字段填充为MongoDB中的_id(而不是允许MongoDB自动生成_id),那么您将能够避免MongoDB端的重复。如果您尝试两次插入相同的记录,则会出现DuplicateKeyException。

除此之外,如果单个记录中存在错误,则必须完全重新启动加载过程。但也许你有更严重的问题需要解决,例如加载程序崩溃了JVM?

也许你只需要改进你的加载程序,这样你就不必完全重新开始。如果您按照我的建议填充_id,您将获得额外的保证,即您没有插入重复的记录。