FreeWong
V2EX  ›  问与答

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

  •  
  •   FreeWong · Oct 28, 2021 · 3523 views
    This topic created in 1838 days ago, the information mentioned may be changed or developed.

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

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

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