为单机MongoDB设置分发MongoDB后台索引创建

时间:2018-06-26 17:16:16

标签: mongodb

我只有一台机器MongoDB设置,可以满足我的应用程序在运行时的需求,但是由于数组字段上的后台索引需要几天才能完成(反转索引),因此在数据摄取时会遇到很大的瓶颈。这似乎与此处MongoDB large index build very slow中发布的问题相同。我想知道委托/分发索引创建然后在主机上部署结果索引是否有意义。如果有人考虑-希望与您分享经验。这是我要测试的一些想法:

  • 使用Hadoop或DataFlow之类的分布式作业创建索引元组,然后将它们直接加载回MongoDB或另一个更有效地存储反向索引的数据库。
  • 使用诸如ElasticSearch之类的其他服务,该服务可能会更有效地处理索引编制;但是,我没有经验,想继续将所有内容托管在同一台计算机上。

1 个答案:

答案 0 :(得分:0)

最后,我决定生成所有元组以使用Apache Beam / DataFlow进行索引,使用mongoimport导入所有元组,然后在需要的字段上创建索引。这样,我可以在几小时而不是几天内查询索引。