请教个问题,类似温度,湿度硬件对接的时候,数据通过 websocket 获取,这些数据每隔几十秒就会传一组过来,咋处理这些数据?直接存数据库吗,这样数据库压力也太大了,通过 mq 的方式来存储,但是最终还是要插入数据库,还是会造成数据库压力

我的想法是 把数据直接放到 redis 里面,但是越到后期,数据也会很多,查询也不太好查吧?

没咋处理过这种场景,一时间没啥头绪,特来问问f友,有没有实际处理过类似问题的,求教

举报· 2484 次点击
登录 注册 站外分享
23 条回复  
lmaq 小成 前天 11:19
时序数据库
AnroZ 初学 前天 11:20
influxdb 试试
autumnhlf01 楼主 初学 前天 11:24
只能换其他数据库进行处理吗,主要项目里面用的是 MySQL 现在换成其他的数据不太好吧 @lmaq @AnroZ
StoneHuLu 小成 前天 11:26
要么时序窗口聚合,要么时序数据库,但其实还是看你具体需求:你对数据的需求节点,不一定是传感器传输数据的节点,比如你展示数据是看每小时温度,那你是不是数据只存每小时的那一组就行了。
StoneHuLu 小成 前天 11:27
@StoneHuLu #4 其次就是先存内存或者 redis ,然后定时批量插入数据库,减少写入次数,要么就分表、对数据归档,区分冷热数据。我觉得频繁插不是啥大问题,问题是频繁插完怎么查
autumnhlf01 楼主 初学 前天 11:32
@StoneHuLu 这种方案也可行,只是实时性上可能会差点,就是先把秒的数据放到 redis 里面,然后整点再把这些数据处理到数据库
autumnhlf01 楼主 初学 前天 11:36
@StoneHuLu 我开始打算把设备 id 和时间一起当个 key ,详细内容当做 value ,如果根据时间区间来查,这样勉强也可能处理,因为时间点都是有规律的,只是我担心全放在 redis 里面,后期数据量大了以后,速度可能会慢
StoneHuLu 小成 前天 11:37
@autumnhlf01 #6 实时性是看你业务需求的,你要考虑你业务对实时性的敏感度如何、对数据的精度要求如何,换言之就是问一下自己:需要这么精确和即时的数据吗,对温湿度传感要求这么高,只有温控场景吧,如果只是做统计和报表,应该是无所谓的。
StoneHuLu 小成 前天 11:38
@autumnhlf01 #7 你这杞人忧天了,为啥数据全放 redis 上会慢,你应该考虑的是你们有没有那么大内存,只要内存管够,你全丢 redis 上也不会慢,如果实在是怕数据量过大,那很简单,定期做数据归档就好了。
123下一页
返回顶部