1

现在我有一个包含 800 万条记录的 Oracle 数据库,我需要将它们移动到 MongoDB。我知道如何使用导入命令通过 JSON 文件将一些数据导入 MongoDB,但我想知道是否有更好的方法来解决这些问题。

  • 由于执行时间的限制,如何处理?
  • 数据库每秒钟都在增加,那么确保每条记录都被移动的计划是什么。
4

1 回答 1

2

由于执行时间的限制,如何处理?

不要使用 JSON 导出/导入。相反,您应该编写一个脚本来读取数据,转换为 MongoDB 的正确格式,然后将其插入那里。

这有几个原因:

  • 您的表/集合将不会以相同的方式组织。(如果是,那你为什么要使用 MongoDB?
  • 这将允许您监控操作的进度。特别是,您可以每 1000 个左右的条目输出到日志文件,以获得一些进展并能够从故障中恢复。
  • 这将测试您的新 MongoDB 代码。

数据库每秒钟都在增加,那么确保每条记录都被移动的计划是什么。

这里有两种策略。

  1. 跟踪更新的条目并在新更新的记录上重新运行您的脚本,直到您赶上。
  2. 在运行脚本以复制数据时写入两个数据库。然后,一旦你完成了脚本并更新了所有内容,你就可以切换到只使用 MongoDB。

我个人建议 #2,这是在保持正常运行的同时进行管理和测试的最简单方法。这仍然需要大量的工作,但这将允许过渡发生。

于 2012-06-12T05:08:40.903 回答