一个 web 应用用于接收 iot 设备的数据,并转换成另一种协议使用 http 发送出去 我担心在发送 http 数据到对端时对方的 web 服务器离线或是故障,导致数据丢失. 我现在希望将从 iot 设备接收到的数据保存到一个数据库中,我的场景是短时间内接收大量的 iot 设备的数据,并发写入数据库,但几乎很少读。 同时,我的软件部署到用户时,不能让用户安装这种大型的 sqlserver,mysql 这种。 但是 sqlite 似乎对于并发写不合适。 所以请问各位大侠,哪种数据库易部署,也支持我上面说的场景。 感谢感谢。
![]() | 1 whoosy 2021-10-28 14:26:00 +08:00 写文件 |
![]() | 2 FrankFang128 2021-10-28 14:26:48 +08:00 mysql 教程最多,适合新手。 我老手用 postgresql |
![]() | 3 murmur 2021-10-28 14:30:39 +08:00 mysql 未必以 installer 安装,直接解压的版本也有 |
4 auxox 2021-10-28 14:53:03 +08:00 用 RocksDB? |
![]() | 5 singerll 2021-10-28 14:54:50 +08:00 via Android 用 mqtt 发 |
6 flyingfz 2021-10-28 16:51:52 +08:00 之前看过 TDengine 的介绍 ,国内一个公司做的。 貌似比较符合你的需求。 你可以评估下 . https://www.taosdata.com/cn/ |
7 flyingfz 2021-10-28 16:54:28 +08:00 附带提一下, 他们有云服务。 不用自己部署。 只是有成本开销。 |
![]() | 8 TomVista 2021-10-28 17:01:05 +08:00 web 自带的 indexdDb, 简单插入 1w qps 轻轻松松 |
![]() | 9 TomVista 2021-10-28 17:05:42 +08:00 |
10 dfdragon 2021-10-28 17:25:04 +08:00 via Android 时序数据库 |
11 jjianwen68 2021-10-28 17:30:51 +08:00 java 的话,h2db ? |
12 Ediacaran 2021-10-28 17:33:17 +08:00 via iPhone 很少读是怎么读啊 只是缓存的话建议 redis |
![]() | 13 netnr 2021-10-28 18:49:16 +08:00 via Android sqlite 循环内存队列分批事物写 |
![]() | 14 eason1874 2021-10-28 19:38:08 +08:00 用不着关系型数据库,就 localStorage 、IndexedDB 这种 Web 原生数据库就可以了 请求失败的时候把 object 写入 storage ,另外用一个定时任务去检查 storage 有没有堆积,有就检查网络连通性并批量推送,成功回调才把 storage 里对应的条目删掉 |
![]() | 15 pydiff 2021-10-28 19:41:10 +08:00 我以前做 iot 数据接入时就是用 influxdb,用了一年多,感觉还行.部署是用 docker 部署的,很快,就看你要不要做集群而已,要不然很简单的 |
16 slipper 2021-10-29 08:06:06 +08:00 influxdb+1 ,开箱即用。就是对内存占用比较大,需要规划好 series 。 |
17 arvinsilm 2021-10-29 09:13:05 +08:00 我理解需求就是发生故障时将请求保留下来,以备后续恢复用?那是否有必要上数据库呢,直接写文件或者用日志方式保存不可以吗。 |
18 ymmud 2021-10-29 10:14:53 +08:00 RocksD 比较合适 |
![]() | 19 legiorange 2021-10-29 10:55:36 +08:00 建议采用云端处理: 协议选择:mqtt5 弱网协议 /HTTP2.0 协议 推荐通过 MQTT5 进行传输到你们的 MQTT 服务端中,在服务端进行存储读写。 此时:如果服务不可用,存储在本地. 建议尝试一下阿里云的微消息队列 MQTT 版,堆积队列,联网直接推过去(我记得可以) 其他的日志就可以处理。 |