我有47.919.581个文件存储在mongoDB(~11 GB)中,我需要在其上执行聚合。聚合结果需要太长时间,当我几乎立即需要这些结果时,我们会说几分钟。
我想过使用Apache Spark来创建具有预先计算数据的vues并对这些视图执行聚合。我创建了一个视图来测试我的机器本地运行的spark:它有1700万个文档,聚合查询仍然非常慢。 此外,存储所有视图需要太多存储空间。
我正在使用12GB内存和2个内核(4个逻辑内核)的计算机,但部署该应用程序的生产服务器具有128GB内存和8个内核(16个逻辑内核)。
我没有专业经验,因此我无法估计查询对生产服务器的影响程度。
有没有办法加快汇总?如果没有,是否有另一个更适合聚合的数据库?