我收集了大约625,000个对象。

每晚通过Cron,我从数据提供商中检索了此数据的更新文件(TSV),并且需要将其重新介绍到我的MongoDB中。

在不中断消耗数据的网站/服务及其用户的情况下,执行此操作的最佳方法是什么? Mongoimport是最好的方法吗?太慢了。

我应该考虑涉及我收藏副本的其他方法吗?

有帮助吗?

解决方案

Mongoimport是最好的方法吗?太慢了。

这会起作用,但根据我的经验 mongoimport 一直很笨拙。它还还有其他一些严重的局限性:没有跟踪进度的能力,没有检查/验证的点,也没有关于它在做什么的日志。

我应该考虑涉及我收藏副本的其他方法吗?

这里的替代方法是编写一个执行此操作的脚本。在大多数语言中,这很微不足道。

这将使您能够跟踪进度并处理不良数据。如果您发现进口速度特别慢,则可能还可以分配该过程并拆分工作。

关于速度

请记住,您正在更新625k对象。如果您可以获得1K更新/秒,则仍然需要10分钟的更新。如果您运行 mongostat 或在进口过程中检查监视,您应该了解正在完成多少工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top