仅保留最新值

所有 Cloud Bigtable 客户端库都可让您使用过滤条件来读取指定行和列的最新值(也称为“单元”)。在某些情况下,您可能不需要读取旧版数据。为了避免系统因存储您不再需要的旧版数据而付费,您可以使用本页面上的策略删除此类数据。

在阅读本页内容之前,请先查看垃圾回收概览

时间戳为零

如果您只想读取列族列中的最新值,并且不想等待垃圾回收来移除旧单元,则可在每次将数据写入列族时,将时间戳设置为零 (1970-01-01 00:00:00 UTC)。在这种情况下,新的写入会立即隐藏旧数据,因此读取操作始终会返回每列的单个值。您可能仍需要等待压缩操作,才能停止旧的单元占用表空间和产生存储费用,具体取决于先前数据的写入时间。

零时间戳的优点

  • 读取数据时不需要使用过滤条件,因为您只能读取列的单个最新值。
  • 在这种情况下,您不需要设置垃圾回收政策,因为每次对现有单元执行写操作时,您都已经删除了旧数据。

零时间戳的缺点

  • 单元的先前值会立即被覆盖,而且无法再检索。
  • 由于时间戳并非日期和时间,因此您无法将单元格的时间戳用于其他任何用例,例如确定值的存在时间。如需解决该问题,您可以将实际时间戳写入单独的列中,但这会增加您存储的数据量。

后续步骤