删除-从索引中删除系列实际上是什么意思

时间:2019-07-04 05:45:59

标签: indexing time-series influxdb

在某些情况下,我们考虑删除DELETE FROM measurement WHERE Tag1='val1' .... and time='...'系列中的单个点。

我们可以看到它工作正常,并且删除后无法再获取积分。但是,有一件事困扰着我们,即documentation 中的音符“它不会从索引中删除序列”。

我知道,如果我们删除带有DELETE的整个系列,那么索引将不会更新,但是最后这只会占用一些空间,不会以任何方式降低引擎速度。正确吗?

但是,当我们从不同系列中删除单个点时,我不确定如何理解这一点。这种方法是否存在任何隐患?索引最终将发生什么?引擎将来会降低速度吗?

任何评论,建议和建议都将受到高度赞赏!

2 个答案:

答案 0 :(得分:1)

我相信它会做的是将该项目标记为已删除,而实际上并未将其删除。因此它仍然消耗磁盘,但不会显示在结果中。他们称此为“墓碑”,这与删除整个数据库,rp或度量实际上将删除该项目不同。

在InfluxDB运行后台压缩过程的给定时间后,它将清理逻辑删除。删除数据的理想方法是让保留策略生效并自动删除

答案 1 :(得分:0)

您可以将系列作为子测量/子表查看。如果您从其中删除数据点,即使您恰巧删除了所有数据点,该系列也会保留。 如果您删除该系列,则它会连同其中的所有数据点一起消失。

我想如果您以后要向该系列添加更多数据点(或者您只删除所有数据点的子集),则选择DELETE,否则选择DROP。