我有" dump"然后"删除"大数据MONGODB
db已经有索引字段需要查询
总数据~50m记录
过滤后的数据必须转储并删除~5m
3服务器:
- MONGO t2.medium
- SIDEKIQ t2.small
- OTHER SERVER t2.small(multi)
我在较少的交通时间运行cronjob。但是完成工作需要花费太多时间,~6-8h,当它运行时,其他服务器无法连接MONGODB,然后其他服务器更改为状态降级(使用docker的弹性支持)
当服务器关闭时,我检查MONGODB mongostat:cpu占用~95-96%。其他服务器日志是"无法连接到db"。拜托,有人有mongodb的经验,帮助我解决这个问题
答案 0 :(得分:1)
也许你应该尝试其他策略。您可以尝试几步完成。此外,您必须将此任务拆分为许多小作业。您可以在后台以低优先级运行此作业。在你的地方我会做下一步:
第1步:
1)创建用于存储转储数据的临时DB(集合)
2)从原始集合中选择小部分所需的数据。多大?这取决于您的服务器。例如,每次5000个条目(限制,偏移)
3)在临时数据库中保存数据
现在您可以尝试转储临时数据库。如果它不起作用,您可以尝试使用partitioning。