Google cloud bigtable Google Bigtable删除时间范围

Google cloud bigtable Google Bigtable删除时间范围,google-cloud-bigtable,bigtable,Google Cloud Bigtable,Bigtable,我们正在评估Google Bigtable作为物联网数据的热存储。我们有一个基于DeviceID+时间戳的行键 e、 g.“ABC20201122093211”,存储的行数据是protobuf消息 几天后,由于数据量巨大,我们也将这些数据移动到一个冷库中 现在,我的问题是,从Bigtable中删除数据的正确方法是什么 如果使用TTL,在压缩表之前,数据可能仍然会挂起一周。 Admin Client deletes似乎能够更快地完成这项工作,但无法同时删除多个范围。我必须按顺序删除每个设备的时间范

我们正在评估Google Bigtable作为物联网数据的热存储。我们有一个基于DeviceID+时间戳的行键 e、 g.“ABC20201122093211”,存储的行数据是protobuf消息

几天后,由于数据量巨大,我们也将这些数据移动到一个冷库中

现在,我的问题是,从Bigtable中删除数据的正确方法是什么

如果使用TTL,在压缩表之前,数据可能仍然会挂起一周。 Admin Client deletes似乎能够更快地完成这项工作,但无法同时删除多个范围。我必须按顺序删除每个设备的时间范围


我在这里有什么选择?

这里有两个选择:TTL、垃圾收集和管理客户端库。TTL会在您指定的时间后将您的数据标记为删除,并且AdminSDK会发送一个删除请求以删除您指定的某些数据。它们在某些方面是相同的,因为它们只会标记要删除的数据,仅此而已。即使标记为删除,数据仍将保留在那里,这可能需要一周的时间,直到压缩和垃圾收集完成

正如我所说,从删除的角度来看,它们是相同的,因为在实际删除之前,您仍然需要等待长达1周的时间。一些关键区别是:

1-标记为使用管理客户端删除的数据将不会显示在数据的读取请求中

2-TTL将显示垃圾收集的数据,您可能需要使用过滤器排除这些数据(我认为这给您的印象是,使用管理客户端库可以更快地删除数据)

老实说,从我的观点来看,TTL似乎使用声明式方法,而管理客户机库则是命令式方法。除此之外,即使标记为移除,您仍将为数据支付费用,直到实际压实发生,这可能需要长达1周的时间


您可以在这里了解更多信息:

这里有两件事:TTL与垃圾收集和管理客户端库。TTL会在您指定的时间后将您的数据标记为删除,并且AdminSDK会发送一个删除请求以删除您指定的某些数据。它们在某些方面是相同的,因为它们只会标记要删除的数据,仅此而已。即使标记为删除,数据仍将保留在那里,这可能需要一周的时间,直到压缩和垃圾收集完成

正如我所说,从删除的角度来看,它们是相同的,因为在实际删除之前,您仍然需要等待长达1周的时间。一些关键区别是:

1-标记为使用管理客户端删除的数据将不会显示在数据的读取请求中

2-TTL将显示垃圾收集的数据,您可能需要使用过滤器排除这些数据(我认为这给您的印象是,使用管理客户端库可以更快地删除数据)

老实说,从我的观点来看,TTL似乎使用声明式方法,而管理客户机库则是命令式方法。除此之外,即使标记为移除,您仍将为数据支付费用,直到实际压实发生,这可能需要长达1周的时间

您可以在此处阅读更多关于此的信息: