相关疑难解决方法(0)

MongoDB在聚合查询上的表现

听了MongoDB表现这么多好事后,我们决定让Mongodb尝试解决我们遇到的问题.我开始将我们在几个mysql数据库中的所有记录移动到mongodb中的单个集合.这导致了一个包含2900万个文档的集合(每个文档至少有20个字段),在HD中占用大约100 GB的空间.我们决定将它们全部放在一个集合中,因为所有文档都具有相同的结构,我们想要查询并汇总所有这些文档的结果.

我创建了一些索引以匹配我的查询,否则即使简单的count()也需要很长时间.但是,诸如distinct()和group()之类的查询仍然需要太长时间.

例:

// creation of a compound index    
db.collection.ensureIndex({'metadata.system':1, 'metadata.company':1})

// query to get all the combinations companies and systems
db.collection.group({key: { 'metadata.system':true, 'metadata.company':true }, reduce: function(obj,prev) {}, initial: {} });
Run Code Online (Sandbox Code Playgroud)

我看了一下mongod日志,它有很多像这样的行(在执行上面的查询时):

Thu Apr  8 14:40:05 getmore database.collection cid:973023491046432059 ntoreturn:0 query: {}  bytes:1048890 nreturned:417 154ms
Thu Apr  8 14:40:08 getmore database.collection cid:973023491046432059 ntoreturn:0 query: {}  bytes:1050205 nreturned:414 430ms
Thu Apr  8 14:40:18 getmore database.collection cid:973023491046432059 ntoreturn:0 query: {}  bytes:1049748 nreturned:201 130ms
Thu Apr  8 …
Run Code Online (Sandbox Code Playgroud)

performance mongodb

27
推荐指数
3
解决办法
2万
查看次数

标签 统计

mongodb ×1

performance ×1