如果所有值都被垃圾收集,是否会自动删除一行?

lin*_*jus 2 bigtable google-cloud-bigtable

假设有一行包含一个列族和一列。该列族有一个 gc 策略,并且该列中的所有值都刚刚过期。

那么,该行会发生什么呢?该行会被垃圾收集器删除吗?或者,它仍然存在并且可以访问吗?

我检查了文档,但只发现了一些模糊的评论,来自https://cloud.google.com/bigtable/docs/overview#empty-cells

Cloud Bigtable 表中的空单元格不占用任何空间。每行本质上是键/值条目的集合,其中键是列族、列限定符和时间戳的组合。如果某行不包含特定键的值,则该键/值条目根本不存在。

就我而言,根据上述文本,该集合将为空。然后,我的问题是空集合是否仍然存在。

理想情况下,我希望自动删除空行,以防止表中有太多空行。如果空行没有自动删除,除了编写一个程序来扫描和删除这些行之外,是否有任何方法可以自动删除空行?

Sol*_*kis 5

如果行键的所有单元格都被垃圾收集,则该行确实被删除。请注意,垃圾收集是异步的,可能需要一周的时间才能完全删除数据。