2017-03-16 70 views
-1

我是MongoDB的新手,并计划将DB2数据(〜6TB)迁移到Mongodb。所以我们打算使用Java实用程序从DB2读取数据并在MongoDB中插入相同的数据。如何在将数据从DB2迁移到MongoDB时避免重复

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

请在这里指导我!

谢谢!

+0

这听起来像你的Java实用程序不是一个好的数据迁移工具。但是,这超出了stackoverflow.com的范围,因为它不是关于编程代码;我将建议将此问题移至dba.stackexchange.com。 –

回答

0

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

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

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