升级mongo 2dsphere索引版本的最佳策略,性能影响最小

时间:2017-10-26 13:01:45

标签: mongodb indexing database-performance

我们最近从 mongo 3.0升级到3.2 该应用程序大量使用2dsphere索引,仍然是版本2.0。 我们希望将此 2dshpere索引版本升级到3.0 以利用它带来的性能优势。

但是,需要完成这个项目的集合超过1000万个节点,而且应用程序是一个繁重的流量应用程序,我们无法承受长时间的影响。

我们的策略是如何完成这项工作,同时对实时流量查询的性能影响最小。

建议的解决方案:

1) Create new 2dshpere index in background with version 3.0
2) After above is done, remove old 2dsphere index

请为此用例建议最佳解决方案是相同或以上。

1 个答案:

答案 0 :(得分:0)

我发布自己的答案,因为我们使用的效果很好。 如果有的话,我愿意听到更好的答案。

我们首先在后台创建了第3版索引。这样两个索引都是并行的。

 db.goibibocms_nodes.createIndex({"fieldname":"2dsphere","background":1,"version":3},{"2dsphereIndexVersion":3})

然后我们删除了版本2索引。

 db.goibibocms_nodes_v2.dropIndex("old index name")

当这些索引创建和下降发生时,它没有任何性能降级,而且很顺利。