V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
youngce
V2EX  ›  数据库

求教——物联网项目如何处理每小时生成的 100W 行数据?

  •  1
     
  •   youngce · 2019-02-26 17:46:53 +08:00 · 2714 次点击
    这是一个创建于 2097 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大佬们,请问目前有 1000 个硬件设备,总共每小时产生 100W 行历史数据到 web 服务器,应该如何保存? 目前项目用的 redis 作为缓存和队列+mysql 数据库 后期主要用来作为历史记录查询,不会涉及修改、删除数据 大家有什么好的处理办法吗? 本菜鸡拜谢- -

    21 条回复    2019-02-28 08:46:04 +08:00
    liyer
        1
    liyer  
       2019-02-26 17:51:06 +08:00
    elasticsearch
    jadec0der
        2
    jadec0der  
       2019-02-26 17:51:58 +08:00
    关键词:Time series database
    996635
        3
    996635  
       2019-02-26 17:52:00 +08:00
    分表就完了 1 小时 一百万 没多少数据
    youngce
        4
    youngce  
    OP
       2019-02-26 17:54:19 +08:00
    @liyer 简略的看了一下,似乎很强的样子,晚上研究研究,谢谢大佬赐教
    lastpass
        5
    lastpass  
       2019-02-26 17:55:28 +08:00 via Android
    上 elasticsearch,如果只是缓存上 kafka。
    maemual
        6
    maemual  
       2019-02-26 17:55:49 +08:00
    一小时一百万,那么存储压力其实没有多大,怎么搞都可以。
    问题在于你到底有什么样的查询需求,这个比较影响数据怎么存储组织。
    youngce
        7
    youngce  
    OP
       2019-02-26 17:55:55 +08:00
    @jadec0der 时序性数据库吗?我不太了解这方面的,学习了
    @996635 分表就可以吗,我研究下,谢谢
    youngce
        8
    youngce  
    OP
       2019-02-26 17:57:38 +08:00
    @maemual 实际情况是,查找某段时间内的某个设备的历史数据,并形成相应的报表
    qq316107934
        9
    qq316107934  
       2019-02-26 18:00:23 +08:00
    @youngce #8 hbase + hive + grafana,完美解决你的需求
    hilbertz
        10
    hilbertz  
       2019-02-26 18:01:24 +08:00
    时序数据库就是帮你自动分表而已,再引入一套东西,没啥太大意义
    runningman
        11
    runningman  
       2019-02-26 20:12:44 +08:00
    @qq316107934 我空了试试
    scalaer
        12
    scalaer  
       2019-02-26 20:21:05 +08:00 via Android
    kafka+druid
    cheava
        13
    cheava  
       2019-02-26 20:30:28 +08:00   ❤️ 1
    “主要用来作为历史记录查询,不会涉及修改、删除数据 ” ,典型的时序数据
    可以上时序数据库加可视化组件,例如 opentsdb+grafana
    如果不搞集群,可以用 TICK 一件套(influxDB 单机开源),省心省事。
    6 楼说到点上了,感觉时序数据库对存储的优化还是很好的,查询需求比较影响用什么数据库
    mywaiting
        14
    mywaiting  
       2019-02-26 21:10:24 +08:00
    这个时候为什么不上战斗民族出品的 ClickHouse,只要你带宽足够,机器足够,目测一分钟 100W 都没有问题
    leeyuzhe
        15
    leeyuzhe  
       2019-02-27 10:36:22 +08:00
    influx db
    coloz
        16
    coloz  
       2019-02-27 11:36:41 +08:00
    我也做物联网,同样的需求,考虑用时序数据库,但做后台的同事说 mongoDB 也满足需求
    Raymon111111
        17
    Raymon111111  
       2019-02-27 13:09:47 +08:00
    mysql 分库分表直接搞定
    xuanchi
        18
    xuanchi  
       2019-02-27 13:20:42 +08:00
    每小时 100W,一天 2400W,每月 7.2 亿条,这个放在 mysql 上妥妥不合适,数据量太大,当然分库分表数据量的问题可以解决,但是由于每月修改和删除,使用 mysql 这种关系型数据库没什么好处。
    每小时 100W,每分钟是 1.67W ,每秒钟 278 条,这个量级没什么压力,只要是个数据库,机器配置过得去都能抗住。
    从理论角度分析,时序数据库是首选,然后根据需求也可以把数据库同步到 mysql。hbase 查询有些问题,不建议用 habase,但是在实际中,搞个时序数据库不方便,总的来说 MongoDB 到时候挺合适的
    dorothyREN
        19
    dorothyREN  
       2019-02-27 13:28:46 +08:00
    随便上个商业数据库就解决了
    fengxuejianshi
        20
    fengxuejianshi  
       2019-02-27 15:30:37 +08:00
    航发?
    youngce
        21
    youngce  
    OP
       2019-02-28 08:46:04 +08:00
    @coloz 我也在考虑是不是用 mongodb 算了- -,不过项目很急,先直接存在 mysql,等进入维护阶段再优化了吧

    @xuanchi 分析得很透彻了,我也是考虑到时间长了以后行数会很多

    @mywaiting 创业公司,硬件配置可能暂时跟不上- -!也是愁人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2892 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:53 · PVG 16:53 · LAX 00:53 · JFK 03:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.