Java 如何在将数据从DB2迁移到MongoDB时避免重复
我是MongoDB新手,计划将DB2数据(~6TB)迁移到MongoDB。因此,我们计划使用Java实用程序从DB2读取数据并将其插入MongoDB 如果在执行Java实用性期间发生任何错误,我重新启动它,然后在MongoDB中插入重复记录。如何避免重复记录 请带我到这里Java 如何在将数据从DB2迁移到MongoDB时避免重复,java,mongodb,db2,database-migration,data-migration,Java,Mongodb,Db2,Database Migration,Data Migration,我是MongoDB新手,计划将DB2数据(~6TB)迁移到MongoDB。因此,我们计划使用Java实用程序从DB2读取数据并将其插入MongoDB 如果在执行Java实用性期间发生任何错误,我重新启动它,然后在MongoDB中插入重复记录。如何避免重复记录 请带我到这里 谢谢 来自DB2的数据应该已经有一个唯一的主键,并且可能在数据中还有其他唯一的业务键。如果您在MongoDB中将这些字段填充为\u id(而不是允许MongoDB自动生成一个\u id),那么您将能够避免在MongoDB端重复
谢谢 来自DB2的数据应该已经有一个唯一的主键,并且可能在数据中还有其他唯一的业务键。如果您在MongoDB中将这些字段填充为
\u id
(而不是允许MongoDB自动生成一个\u id),那么您将能够避免在MongoDB端重复。如果您尝试插入同一记录两次,将得到DuplicateKeyException
除此之外,如果单个记录上出现错误,则必须完全重新启动加载过程似乎有些过分。但也许您还有更严重的问题需要解决,例如,加载程序正在使JVM崩溃
也许您只需要改进加载程序流程,这样就不必从头开始。如果您按照我的建议填充
\u id
,您将获得额外的保证,即不会插入重复记录。听起来您的java实用程序不是一个好的数据迁移工具。但是,这超出了stackoverflow.com的范围,因为它与编程代码无关;我建议将此问题移至dba.stackexchange.com。