Influxdb 的更新,刪除,怎麼搞。
阿新 • • 發佈:2018-11-26
對於你的業務中出現 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