大佬们, mongodb 插入数据占空间咋那么大?

2020-06-28 16:32:56 +08:00
 dtgxx

我本身有 200G 的文本数据,每一条是一个 json,我需要把这个 json 二次处理一下再插进去,处理之后文本稍微大了那么一丢丢,_id 字段我也重新定义了,长度大约 32 位。 只做了这样的操作,为什么导入 mongo 之后,占用的空间还是 200G 呢?完全没压缩。。我的前缀和文档压缩也配置了。。。用的 pymongo insert_many 插入的,而且速度极慢,10 秒才能插入 3000 条。

如果我直接用 mongoimport 命令导入数据,实际占用空间只有 20G 。速度每秒一万五千条。 速度和压缩率和我使用 pymongo 相比差距很大,我也单独打印了我代码里数据处理时间,数据处理的时间大约 100 毫秒,几乎可以不计,耗时最大的就是执行 insert_many 的时候。

为什么差距会这么大呢?

4136 次点击
所在节点    MongoDB
5 条回复
tikazyq
2020-06-28 22:00:53 +08:00
索引问题?
picone
2020-06-29 09:34:14 +08:00
执行 compact 试试
dtgxx
2020-06-30 11:51:46 +08:00
@picone #2 试了一下,空间还是占那么多。主要我没有过删除操作,全都是写入。
dtgxx
2020-06-30 11:52:22 +08:00
@tikazyq #1 后面不加索引了,还是一样的效果。。。
picone
2020-07-01 14:07:05 +08:00
@dtgxx #3 insert_many 10 秒 3000 条,一条多大呢?感觉这个不符合预期

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/685358

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX