V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
FreeWong
V2EX  ›  问与答

====数据库选型的问题====

  •  
  •   FreeWong · 2021-10-28 14:08:32 +08:00 · 2008 次点击
    这是一个创建于 909 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个 web 应用用于接收 iot 设备的数据,并转换成另一种协议使用 http 发送出去 我担心在发送 http 数据到对端时对方的 web 服务器离线或是故障,导致数据丢失. 我现在希望将从 iot 设备接收到的数据保存到一个数据库中,我的场景是短时间内接收大量的 iot 设备的数据,并发写入数据库,但几乎很少读。 同时,我的软件部署到用户时,不能让用户安装这种大型的 sqlserver,mysql 这种。 但是 sqlite 似乎对于并发写不合适。 所以请问各位大侠,哪种数据库易部署,也支持我上面说的场景。 感谢感谢。

    19 条回复    2021-10-29 10:55:36 +08:00
    whoosy
        1
    whoosy  
       2021-10-28 14:26:00 +08:00
    写文件
    FrankFang128
        2
    FrankFang128  
       2021-10-28 14:26:48 +08:00
    mysql 教程最多,适合新手。
    我老手用 postgresql
    murmur
        3
    murmur  
       2021-10-28 14:30:39 +08:00
    mysql 未必以 installer 安装,直接解压的版本也有
    auxox
        4
    auxox  
       2021-10-28 14:53:03 +08:00
    用 RocksDB?
    singerll
        5
    singerll  
       2021-10-28 14:54:50 +08:00 via Android
    用 mqtt 发
    flyingfz
        6
    flyingfz  
       2021-10-28 16:51:52 +08:00
    之前看过 TDengine 的介绍 ,国内一个公司做的。
    貌似比较符合你的需求。 你可以评估下 . https://www.taosdata.com/cn/
    flyingfz
        7
    flyingfz  
       2021-10-28 16:54:28 +08:00
    附带提一下, 他们有云服务。 不用自己部署。 只是有成本开销。
    TomVista
        8
    TomVista  
       2021-10-28 17:01:05 +08:00
    web 自带的 indexdDb, 简单插入 1w qps 轻轻松松
    TomVista
        9
    TomVista  
       2021-10-28 17:05:42 +08:00
    dfdragon
        10
    dfdragon  
       2021-10-28 17:25:04 +08:00 via Android
    时序数据库
    jjianwen68
        11
    jjianwen68  
       2021-10-28 17:30:51 +08:00
    java 的话,h2db ?
    Ediacaran
        12
    Ediacaran  
       2021-10-28 17:33:17 +08:00 via iPhone
    很少读是怎么读啊
    只是缓存的话建议 redis
    netnr
        13
    netnr  
       2021-10-28 18:49:16 +08:00 via Android
    sqlite 循环内存队列分批事物写
    eason1874
        14
    eason1874  
       2021-10-28 19:38:08 +08:00
    用不着关系型数据库,就 localStorage 、IndexedDB 这种 Web 原生数据库就可以了

    请求失败的时候把 object 写入 storage ,另外用一个定时任务去检查 storage 有没有堆积,有就检查网络连通性并批量推送,成功回调才把 storage 里对应的条目删掉
    pydiff
        15
    pydiff  
       2021-10-28 19:41:10 +08:00
    我以前做 iot 数据接入时就是用 influxdb,用了一年多,感觉还行.部署是用 docker 部署的,很快,就看你要不要做集群而已,要不然很简单的
    slipper
        16
    slipper  
       2021-10-29 08:06:06 +08:00
    influxdb+1 ,开箱即用。就是对内存占用比较大,需要规划好 series 。
    arvinsilm
        17
    arvinsilm  
       2021-10-29 09:13:05 +08:00
    我理解需求就是发生故障时将请求保留下来,以备后续恢复用?那是否有必要上数据库呢,直接写文件或者用日志方式保存不可以吗。
    ymmud
        18
    ymmud  
       2021-10-29 10:14:53 +08:00
    RocksD 比较合适
    legiorange
        19
    legiorange  
       2021-10-29 10:55:36 +08:00
    建议采用云端处理:
    协议选择:mqtt5 弱网协议 /HTTP2.0 协议
    推荐通过 MQTT5 进行传输到你们的 MQTT 服务端中,在服务端进行存储读写。
    此时:如果服务不可用,存储在本地.
    建议尝试一下阿里云的微消息队列 MQTT 版,堆积队列,联网直接推过去(我记得可以)
    其他的日志就可以处理。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5467 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:25 · PVG 09:25 · LAX 18:25 · JFK 21:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.