V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
dtgxx
V2EX  ›  MongoDB

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

  •  
  •   dtgxx · 2020-06-28 16:32:56 +08:00 · 4001 次点击
    这是一个创建于 1370 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    为什么差距会这么大呢?

    5 条回复    2020-07-01 14:07:05 +08:00
    tikazyq
        1
    tikazyq  
       2020-06-28 22:00:53 +08:00
    索引问题?
    picone
        2
    picone  
       2020-06-29 09:34:14 +08:00
    执行 compact 试试
    dtgxx
        3
    dtgxx  
    OP
       2020-06-30 11:51:46 +08:00
    @picone #2 试了一下,空间还是占那么多。主要我没有过删除操作,全都是写入。
    dtgxx
        4
    dtgxx  
    OP
       2020-06-30 11:52:22 +08:00
    @tikazyq #1 后面不加索引了,还是一样的效果。。。
    picone
        5
    picone  
       2020-07-01 14:07:05 +08:00
    @dtgxx #3 insert_many 10 秒 3000 条,一条多大呢?感觉这个不符合预期
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4211 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:11 · PVG 18:11 · LAX 03:11 · JFK 06:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.