我对“转储”然后“删除”大型数据MONGODB有问题
数据库中已有需要查询的索引字段
总数据量约5000万条记录
过滤后的数据必须转储和删除~5m
3服务器:
-- MONGO t2.medium
-- SIDEKIQ t2小
--其他服务器t2.mall(多)
我在较少的交通时间运行cronjob。但是完成作业需要很长时间,大约6-8小时,当它运行时,其他服务器无法连接MONGODB,然后其他服务器状态变为降级(弹性信号与docker )
当服务器关闭时,我检查MONGODB mongostat: cpu占用约95-96%。其他服务器日志为"can not connect to db“。
请找有mongodb经验的人来帮我解决这个问题
发布于 2017-02-07 18:13:14
也许你应该尝试其他策略。你可以试着用几个步骤来完成它。此外,您还必须将此任务拆分为多个小任务。您可以在低优先级的后台运行此作业。在你的位置上,我会做下一步:
第一步:
1)创建临时DB(集合),用于存储转储数据
2)分小部分从原始集合中选择所需数据。多大?这取决于您的服务器。例如每次5000个条目(限制、偏移)。
3)将数据保存在临时数据库中
现在您可以尝试转储临时数据库。如果不起作用,您可以尝试使用partitioning。
https://stackoverflow.com/questions/42084746
复制相似问题