使用MongoDB

时间:2016-04-26 16:08:17

标签: mongodb insert

以下是问题

如果集合只有默认索引" _id",那么当集合变大时,上传一组文档的时间就是不变的。

但是如果我将以下索引添加到集合中:

db.users.createIndex({"s_id": "hashed"}, {"background": true})

然后,上传同一组文档的时间急剧增加(看起来像一个指数函数)

背景:

我试图在一个集合中插入大约8000万个文档。我没有使用mongo的分片,只有一个实例。

我正在使用python API,这是我的代码:

client = pymongo.MongoClient(ip_address, 27017)
users = client.get_database('local')\
    .get_collection('users')

bulk_op = users.initialize_unordered_bulk_op()

for s in iterator:
    bulk_op.insert(s)

bulk_op.execute()
client.close()

有15个并发连接(我使用的是Apache Spark,它对应不同的分区)。

该实例有4GB的RAM。 上传完成后,索引的总大小约为1,5GB。

非常感谢你的帮助。

0 个答案:

没有答案