Mongoimport:每晚更新收集而不中断数据消耗

时间:2011-11-28 19:46:29

标签: mongodb mongoimport

我有大约625,000个对象的集合。

每晚通过cron,我从数据提供者处检索此数据的更新文件(tsv),并需要将它们重新导入我的mongodb。

在不中断网站/服务及其消费数据的用户的情况下,最好的方法是什么? mongoimport --upup是直接在集合上最好的方式吗?这太慢了。

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

1 个答案:

答案 0 :(得分:1)

  

mongoimport --upup是直接在集合上最好的方式吗?它太慢了。

这会有效,但根据我的经验mongoimport一直很慢而且不实用。它还有一些其他严重的限制:无法跟踪进度,没有检查/验证的位置,也没有记录它正在做什么。

  

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

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

这将使您能够跟踪进度并处理错误数据。如果您发现导入速度特别慢,您也可以分叉该过程并拆分工作。

关于速度

请记住,您正在更新625k对象。如果您可以获得1k更新/秒,那么还有10分钟需要更新。如果你在导入过程中运行mongostat或检查你的监控,你应该知道正在做多少工作。