获取,处理,保存百万条记录的最佳解决方案

时间:2014-12-22 08:23:46

标签: node.js mongodb

使用的技术堆栈:NodeJs MongoDB 环境:RAM:8GB

需要从第三方提供商获取100万条记录(使用ID进行请求)。 Ids可在当地购买。获取的数据将被处理,然后存储在mongodb中。

第三方服务器的限制
它们每个请求只能支持100个ID。

环境问题
在100,000条记录之后,我遇到了内存问题,出现以下错误FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory。因此,垃圾收集定期进行。

在GC之后花了15个小时来获取,处理并转储mongo中的350000条记录。 (经过一段时间后,对mongo的写入速度开始恶化。截至目前,记录上没有索引。)

在mongodb中,350,000个后期处理的记录占据1.5GB。

这个过程要在24小时内重复一次,所以我需要在最短的时间内完成。有没有更好的方法或任何技术堆栈来实现/优化这个?

0 个答案:

没有答案