一个 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 版,堆积队列,联网直接推过去(我记得可以) 其他的日志就可以处理。 |