对于你的业务中出现 Influxdb 的更新和删除 我只能说最好不要去搞!!!
查看官网得知InfluxDB 虽然提供了和SQL 类似的数据库语句,但是对于更新数据和删除数据是不支持的。这里说的不支持是SQL 不支持。举个例子你就不嫌我啰嗦:
如下数据:记录某个坐标点的温度值,现在我想修改36分那个时间点的温度值为22°。关系型数据库你会这么搞:update XX from XX where time ='36分'。
Time temperature longitude latitude
2018-10-27T06:35:20.901Z 20.1 120.33 23.33
2018-10-27T06:36:20.901Z 21.2 120.33 23.33
2018-10-27T06:37:20.901Z 25.3 120.33 23.33
2018-10-27T06:38:20.901Z 21.3 120.33 23.33
那influxdb 没有这种语句咋整?在这里你只能重新插值:
insert xx_measurement名,longitude=120.33,latitude=23.33 temperature=22 154080088649461462
我们知道tags 和 time 是判断时序数据库点(point)的唯一性的标准。相当于关系型数据库的复合主键。所以当我们insert的time和tags 跟原有的数据重复时,就会覆盖掉原有数据的 field value 也就temperature。
既然官方都不提供 update delete 说明 这个数据库 比较适合的场景是insert select 。所以说最好不要把频繁更新的业务放到这里来做。对于删除,influxDb 提供了RP 即数据的保留策略。详看https://blog.csdn.net/m0_37163942/article/details/84522894