【问题标题】:Exporting 8million records from Oracle to MongoDB将 800 万条记录从 Oracle 导出到 MongoDB
【发布时间】:2012-06-14 00:54:31
【问题描述】:

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

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

【问题讨论】:

    标签: oracle mongodb export database


    【解决方案1】:

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

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

    这有几个原因:

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

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

    这里有两种策略。

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

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

    【讨论】:

    • 感谢您的回答。我忘了告诉我我使用了 Codeigniter PHP 框架。
    • 没问题。感谢我回答的最佳方式是将我的回复标记为正确答案并给予支持。
    • 现在我编写一个脚本,从 Oracle 读取数据并使用 MongoDB 类将我读取的结果插入 MongoDB。我还设置了每次执行的记录限制。这是你建议我的方式吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 2020-09-23
    • 2016-04-20
    • 2015-03-21
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多