DELETE - 这实际上意味着系列没有从索引中删除
DELETE - what does it practically mean that series are not dropped from the index
我们有一个案例,我们考虑从 DELETE FROM measurement WHERE Tag1='val1' .... and time='...'
的系列中删除单个点。
我们可以看到这工作正常,删除后点将无法再检索。然而,有一件事困扰着我们,那就是 documentation "it does not drop the series from the index".
中的注释
我知道如果我们用 DELETE 删除整个系列,那么索引将不会更新,但最后这只会占用一些 space 而不会以任何方式减慢引擎速度.对吗?
但是,当我们从不同系列中删除单个点时,我不确定在我们的例子中如何理解这一点。这种方法有什么隐藏的陷阱吗?索引最终会发生什么?引擎会在未来某个时候减速吗?
非常感谢任何意见、建议和忠告!
我相信它会做的是将项目标记为已删除,而不是实际删除它。所以它仍然消耗磁盘但不会显示在结果中。他们称之为 "tombstone" 这不同于删除整个数据库、rp 或测量,后者实际上会删除该项目。
在 InfluxDB 运行其后台压缩过程的给定时间后,它将清理墓碑。删除数据的理想方法是让保留策略生效并自动删除它
您可以将系列视为 sub-measurement/sub-table 的一种。如果您从中删除数据点,即使您碰巧删除了所有数据点,该系列仍然存在。
如果您删除该系列,那么它会连同其中的所有数据点一起消失。
我想如果您稍后要向该系列添加更多数据点(或者您只删除所有数据点的一个子集),您会选择 DELETE,否则选择 DROP。
我们有一个案例,我们考虑从 DELETE FROM measurement WHERE Tag1='val1' .... and time='...'
的系列中删除单个点。
我们可以看到这工作正常,删除后点将无法再检索。然而,有一件事困扰着我们,那就是 documentation "it does not drop the series from the index".
中的注释我知道如果我们用 DELETE 删除整个系列,那么索引将不会更新,但最后这只会占用一些 space 而不会以任何方式减慢引擎速度.对吗?
但是,当我们从不同系列中删除单个点时,我不确定在我们的例子中如何理解这一点。这种方法有什么隐藏的陷阱吗?索引最终会发生什么?引擎会在未来某个时候减速吗?
非常感谢任何意见、建议和忠告!
我相信它会做的是将项目标记为已删除,而不是实际删除它。所以它仍然消耗磁盘但不会显示在结果中。他们称之为 "tombstone" 这不同于删除整个数据库、rp 或测量,后者实际上会删除该项目。
在 InfluxDB 运行其后台压缩过程的给定时间后,它将清理墓碑。删除数据的理想方法是让保留策略生效并自动删除它
您可以将系列视为 sub-measurement/sub-table 的一种。如果您从中删除数据点,即使您碰巧删除了所有数据点,该系列仍然存在。 如果您删除该系列,那么它会连同其中的所有数据点一起消失。
我想如果您稍后要向该系列添加更多数据点(或者您只删除所有数据点的一个子集),您会选择 DELETE,否则选择 DROP。