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

使用 pymong insert_many 插入数据越来越慢

  •  
  •   dtgxx · 2020-07-10 11:30:34 +08:00 · 4632 次点击
    这是一个创建于 1608 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大佬们,我数据量一共 60 亿,现在插入了 6 亿左右,一开始的时候 每次 insert_many 只需要 0.05 秒 1000 条

    目前已经插入 6 亿左右,现在 1000 条数据有时候需要 20 秒,非常的慢。

    用什么办法可以调优一下呢?


    mongo 是单点的,部署在一台机器上,没有分片和副本。

    试过 bulk_write 性能是一样的

    10 条回复    2020-07-10 18:18:43 +08:00
    sdot96
        1
    sdot96  
       2020-07-10 13:06:41 +08:00 via Android
    机器的运行情况?索引情况?数据表能不能做水平分割?
    tikazyq
        2
    tikazyq  
       2020-07-10 13:18:05 +08:00
    单机的话,你这个扩展起来问题会很多

    几个优化点:
    1. 分表( Sharding )
    2. 不要创建索引
    3. 选择其他技术方案,例如 Hive 、HBase

    60 亿条数据,这种量级的数据应该更适合 Hive 或者 HBase 吧,做分布式储存不香么,单点来搞大数据你这不是给自己挖坑么
    22too
        3
    22too  
       2020-07-10 13:25:03 +08:00
    这个数据量确实会出问题的。之前遇到过。
    weizhen199
        4
    weizhen199  
       2020-07-10 15:02:10 +08:00
    考虑下几个列式数据库呗。100e 以下应该都还行。
    Fizzyi
        5
    Fizzyi  
       2020-07-10 15:47:18 +08:00
    @tikazyq 大佬想问下为什么说不要创建索引呢
    specture
        6
    specture  
       2020-07-10 16:30:17 +08:00
    @Fizzyi 索引会降低插入性能
    dtgxx
        7
    dtgxx  
    OP
       2020-07-10 17:43:45 +08:00
    @sdot96 #1 目前数据集合做了分隔,每个集合数据量差不多 200 万,内存 64G available 剩余 20g 左右,cpu48 核 负载 20 左右 数据字段有六个,只有一个字段做了索引
    @tikazyq 之前考虑分集合存储,确实没想到插入这么的慢。。主要都是历史数据,想一次导入,后面就轻松了。索引的话,不创建后期查询就非常慢了,所以还是得创建。
    @22too
    @weizhen199 @tikazyq HBase 在类似的情况下插入,不会数据越多越慢吗?是因为列式存储?
    @specture 目前我有六个,后期查询的时候需要一个字段做索引查询,不知道有没有什么好的方式。。。感觉索引还是得要的。
    anzu
        8
    anzu  
       2020-07-10 17:51:24 +08:00
    插完再建索引?
    dtgxx
        9
    dtgxx  
    OP
       2020-07-10 18:06:42 +08:00
    @anzu #8 主要是集合太多了,后面再去建可能相当麻烦。
    dtgxx
        10
    dtgxx  
    OP
       2020-07-10 18:18:43 +08:00
    @anzu #8 下周试下 看看执行情况如何
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5731 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:46 · PVG 10:46 · LAX 18:46 · JFK 21:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.